Проверяет понимание иммутабельности состояния в React и того, создаёт ли setState новую ссылку на объект.
Когда вы вызываете setState, React не мутирует текущий объект состояния, а создаёт новый. Это ключевой принцип иммутабельности, который позволяет React эффективно отслеживать изменения и решать, когда нужно перерендерить компонент. setState выполняет поверхностное слияние (shallow merge) переданного объекта с текущим состоянием, после чего ссылка на объект состояния обновляется.
// Исходное состояние
this.state = { count: 0, user: 'Alice' };
// Вызов setState
this.setState({ count: 1 });
// Новое состояние: { count: 1, user: 'Alice' }
// Ссылка на объект состояния измениласьВ этом примере setState создаёт новый объект, копируя существующее свойство user и заменяя count. Старая ссылка на this.state больше не актуальна.
setState всегда создаёт новую ссылку на объект состояния, что является фундаментальным требованием для корректной работы React. Применяйте иммутабельные обновления, чтобы избежать багов и обеспечить предсказуемость рендеринга.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию