В reducers, созданных createSlice/createReducer, Redux Toolkit использует Immer: изменения draft превращаются в новое иммутабельное состояние.
Что происходит под капотом Redux Toolkit при изменении состояния?
В reducers, созданных createSlice/createReducer, Redux Toolkit использует Immer: изменения draft превращаются в новое иммутабельное состояние.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В reducers, созданных createSlice/createReducer, Redux Toolkit использует Immer: изменения draft превращаются в новое иммутабельное состояние.
Изменённые ветви получают новые ссылки, неизменившиеся могут переиспользоваться. Это не глубокое копирование всего дерева на каждый action. Можно либо менять draft, либо возвращать заменяющий результат согласно контракту, но не смешивать оба способа. Вне этих reducers обычная мутация объекта не становится безопасной автоматически.
Источник: redux.js.org.