React · Senior · Frage 29 von 75
Wann ist es akzeptabel, setState direkt beim Rendern aufzurufen?
- 1Nie: Es führt immer zum Fehler „Too many re-renders“
- 2Um den Zustand bei einer Prop-Änderung anzupassen, mit einer Schutzbedingung gegen Schleifen
- 3Immer, wenn man irgendeinen Zustand mit neuen Props synchronisieren muss
Antwort zeigen
Richtige Antwort: Um den Zustand bei einer Prop-Änderung anzupassen, mit einer Schutzbedingung gegen Schleifen
Erklärung
Das Pattern „Informationen aus vorherigen Renderings speichern“: if (items !== prevItems) { setPrevItems(items); setSelection(null); }. React führt das Rendern der Komponente sofort erneut aus, ohne den Zwischenzustand zu zeichnen. Das ist besser als useEffect, aber key oder Berechnen beim Rendern ist noch besser.