Dynamiczne pola z useFieldArray
Dodawanie, usuwanie i zmienianie kolejności dynamicznych pól formularza za pomocą hooka useFieldArray.
Dynamiczne pola z useFieldArray to bezpłatna lekcja React Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.
Witamy
Czym jest useFieldArray?
import { useFieldArray } from 'react-hook-form';
const { fields, append, remove } = useFieldArray({
control,
name: 'phoneNumbers',
});Konfiguracja: control z useForm
const { register, control, handleSubmit } = useForm({
defaultValues: { phoneNumbers: [{ value: '' }] },
});Renderowanie pól
return fields.map((field, index) => (
<div key={field.id}>
<input
{...register(`phoneNumbers.${index}.value`)}
/>
<button onClick={() => remove(index)}>Remove</button>
</div>
));Dodawanie nowych pól
<button onClick={() => append({ value: '' })}>
Add Phone Number
</button>Usuwanie pól
<button onClick={() => remove(index)}>Delete</button>Walidacja minimalnej liczby pól
const schema = z.object({
emails: z.array(z.object({ value: z.string().email() }))
.min(1, 'At least one email required'),
});Zamiana i przenoszenie pól
swap(0, 2); // swap first and third items
move(3, 0); // move item at index 3 to the topZagnieżdżony useFieldArray
Wysyłanie danych tablicy
const onSubmit = (data) => {
console.log(data.phoneNumbers);
// [{ value: '555-1234' }, { value: '555-5678' }]
};Szybkie sprawdzenie
Podsumowanie
Kurs ukończony
Często zadawane pytania
Czy lekcja „Dynamiczne pola z useFieldArray” jest bezpłatna?
Tak — pełny tekst „Dynamiczne pola z useFieldArray” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dynamiczne pola z useFieldArray”?
Dodawanie, usuwanie i zmienianie kolejności dynamicznych pól formularza za pomocą hooka useFieldArray. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć React Academy?
Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Dynamiczne pola z useFieldArray”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?
Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pierwsze kroki z React Hook Form
- Reguły walidacji i komunikaty o błędach
- Walidacja schematów za pomocą Zod
- Dynamiczne pola z useFieldArray