Почему reducer должен возвращать новое состояние?

Reducer должен не мутировать прежнее состояние; при реальном изменении он возвращает новые ссылки для изменившихся частей.

Короткий ответ

Что ответить на собеседовании

Reducer должен не мутировать прежнее состояние; при реальном изменении он возвращает новые ссылки для изменившихся частей.

Подробный разбор

Ответ с пояснениями

Reducer должен не мутировать прежнее состояние; при реальном изменении он возвращает новые ссылки для изменившихся частей.

Это позволяет предсказуемо сравнивать версии, хранить историю и обнаруживать обновления. Если ничего не изменилось, допустимо вернуть исходную ссылку. Immer позволяет записывать изменения в draft, но итог всё равно строится с сохранением неизменности предыдущего состояния.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее