Zarządzanie stanem · Junior · Pytanie 6 z 75
Po co przekazywać funkcję do useState(() => createInitialTodos())?
- ✓Poprawna odpowiedź: Aby kosztowne obliczenie wykonało się tylko przy pierwszym renderze
- 2Aby stan stał się tylko do odczytu po inicjalizacji
- 3Aby wartość początkowa załadowała się asynchronicznie z serwera
Wyjaśnienie
useState(createInitialTodos()) wywołuje funkcję przy każdym renderze, choć wynik jest potrzebny raz. Leniwy inicjalizator useState(createInitialTodos) wywoływany jest tylko przy montowaniu. Musi być synchroniczny i czysty.