Встречается на собеседованиях • сегодня

Почему в React состояние должно быть иммутабельным

Иммутабельность состояния в React обеспечивает предсказуемость и упрощает отслеживание изменений. При изменении состояния через setState или useState, React сравнивает предыдущее и новое состояние по ссылке. Если объект мутируется напрямую, React может не заметить изменений и пропустить ререндер.

Пример:

jsx
// Плохо (мутация)
const [user, setUser] = useState({ name: 'Alex' });
user.name = 'Max'; // Мутация! React не увидит изменения
setUser(user); // Не вызовет ререндер

// Хорошо (иммутабельно)
setUser({ ...user, name: 'Max' }); // Создаётся новый объект

Иммутабельность также:

  • Позволяет использовать оптимизации типа React.memo
  • Упрощает отладку (можно логировать предыдущие состояния)
  • Работает с механизмами сравнения React (например, в useEffect зависимостях)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы