Керування станом · Junior · Запитання 4 з 75
Як правильно оновити одне поле об'єкта в стані?
const [form, setForm] = useState({ name: "", email: "" });- ✓Правильна відповідь:
setForm({ ...form, email: value }) - 2
form.email = value; setForm(form) - 3
setForm({ email: value })- React сам об'єднає об'єкти
Пояснення
На відміну від this.setState у класах, сетер useState замінює значення повністю - setForm({ email }) втратить name. Мутацію й передачу того самого об'єкта буде пропущено: React порівнює за посиланням (Object.is).