> Как применяется иммутабельность данных в React (React)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: VK

Стек: React

> Пример ответа

Иммутабельность данных в React - это принцип, согласно которому состояние (state) и пропсы (props) не должны изменяться напрямую. Вместо мутации существующих объектов или массивов создаются их новые копии с необходимыми изменениями. Это критически важно для корректной работы React, так как механизм сравнения (shallow comparison) в shouldComponentUpdate, React.memo или useEffect полагается на ссылочную идентичность. Если изменить объект напрямую, React может не заметить изменений и не перерендерить компонент.

Пример: вместо state.todos.push(newTodo) используется setTodos([...todos, newTodo]) или setTodos(todos.concat(newTodo)). Для обновления вложенных объектов применяется spread-оператор или Object.assign. В современных проектах часто используют Immer, который позволяет писать «мутирующий» код, но под капотом создает иммутабельные копии.

Иммутабельность также упрощает отладку, предотвращает побочные эффекты и делает предсказуемым управление состоянием, особенно в сочетании с Redux или Context API.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью