State Management · Junior · Frage 3 von 75
Wann sollte man das funktionale Update setCount(c => c + 1) statt setCount(count + 1) verwenden?
- 1Nur in Klassenkomponenten; Funktionskomponenten können das nicht
- 2Wenn der State einen String statt einer Zahl enthält
- 3Wenn der neue Wert vom vorherigen abhängt
Antwort zeigen
Richtige Antwort: Wenn der neue Wert vom vorherigen abhängt
Erklärung
count ist ein Schnappschuss des aktuellen Renderings. Drei Aufrufe setCount(count + 1) in einem Handler ergeben +1, drei Aufrufe setCount(c => c + 1) ergeben +3, weil jeder Updater das Ergebnis des vorigen bekommt. Es schützt auch vor veralteten Closures in Timern und Effects.