State Management · Junior · Frage 4 von 75
Wie aktualisiert man richtig ein Feld eines Objekts im State?
const [form, setForm] = useState({ name: "", email: "" });- 1
setForm({ email: value })- React führt die Objekte selbst zusammen - 2
setForm({ ...form, email: value }) - 3
form.email = value; setForm(form)
Antwort zeigen
Richtige Antwort: setForm({ ...form, email: value })
Erklärung
Anders als this.setState in Klassen ersetzt der Setter von useState den Wert vollständig - setForm({ email }) würde name verlieren. Ein verändertes und erneut übergebenes Objekt wird übersprungen, weil React per Referenz vergleicht (Object.is).