Создание мелкой копии состояния указано в документации Redux как одна из распространенных ошибок при обновлении вложенного состояния :
function updateNestedState(state, action) {
// Problem: this only does a shallow copy!
let newState = { ...state }
// ERROR: nestedState is still the same object!
newState.nestedState.nestedField = action.data
return newState
}
Я до сих пор не понимаю, почему этоэто проблема с Redux. Разве редуктор в Redux не работает синхронно, поэтому, когда редуктор возвращается, Redux будет учитывать только возвращенное новое состояние и отменять старое?