State Management · Junior · Frage 6 von 75
Warum übergibt man eine Funktion an useState(() => createInitialTodos())?
- 1Damit die teure Berechnung nur beim ersten Rendern läuft
- 2Damit der State nach der Initialisierung schreibgeschützt ist
- 3Damit der Anfangswert asynchron vom Server geladen wird
Antwort zeigen
Richtige Antwort: Damit die teure Berechnung nur beim ersten Rendern läuft
Erklärung
useState(createInitialTodos()) ruft die Funktion bei jedem Rendern auf, obwohl das Ergebnis nur einmal genutzt wird. Ein lazy Initializer useState(createInitialTodos) wird nur beim Mounten aufgerufen. Er muss synchron und rein sein.