React · Senior · Запитання 72 з 75
Що дає produce з Immer для оновлень глибоко вкладеного стану?
setState(produce((draft) => { draft.users[3].address.city = "Lviv"; }));- ✓Правильна відповідь: Пишете «мутувальний» код по чернетці й отримуєте новий іммутабельний об'єкт зі structural sharing
- 2Глибоку мутацію вихідного об'єкта, яку React помічає
- 3Автоматичне збереження в localStorage
Пояснення
Ручні spread для глибоких шляхів багатослівні й схильні до помилок. Redux Toolkit використовує Immer усередині; use-immer пропонує версію у вигляді хука.