Skip to content

15. Formularze niekontrolowane i useRef

This content is not available in your language yet.

Uncontrolled components — DOM zarządza wartością

Uncontrolled component to input którego wartość jest przechowywana przez DOM, nie przez React state. Odczytujemy ją dopiero przy submit przez useRef. Mniej kodu niż controlled, ale ograniczona możliwość walidacji w czasie rzeczywistym.

Nie każdy formularz wymaga walidacji w czasie rzeczywistym. Proste formularze (upload pliku, jednorazowy submit) mogą być zaimplementowane jako uncontrolled — mniej kodu, szybciej.

  1. Wyjaśnić czym jest uncontrolled component
  2. Opisać useRef do dostępu do wartości inputa
  3. Porównać controlled vs uncontrolled — tabela różnic
  4. Pokazać kiedy każde podejście jest właściwe
  1. Uncontrolled input — DOM zarządza wartością, brak value prop
  2. useRef do odczytuinputRef.current.value przy submit
  3. defaultValue — wartość domyślna bez kontroli React
  4. File input — zawsze uncontrolled (<input type="file">)
  5. Controlled vs uncontrolled — kiedy co wybierać

Przykład 1

Prosty formularz logowania uncontrolled z useRef.

Przykład 2

File upload input — zawsze uncontrolled — odczyt fileRef.current.files[0].

Przykład 3

Porównanie: ten sam formularz controlled vs uncontrolled — objętość kodu, możliwości.

  1. Wstęp — dwa podejścia do formularzy w React
  2. Rozdział 1: Uncontrolled components — mechanizm, useRef
  3. Rozdział 2: File input i specjalne przypadki
  4. Rozdział 3: Porównanie controlled vs uncontrolled
  5. Podsumowanie
  6. Bibliografia

Dwa narzędzia, różne zastosowania!

Traktuj to opracowanie jako uzupełnienie do “formularze kontrolowane”. Pokaż kiedy każde podejście jest właściwym wyborem.