【发布时间】:2020-03-16 18:39:43
【问题描述】:
对于专业人士来说只是一个简单的问题。我正在构建一个reducer,一段代码如下所示:
export const cusDataReducer = (state = cusDataInitialState, action) => {
let newState = {...state}
switch (action.type) {
case "CUS_READ":
newState.data = action.value;
newState.loading = false;
break;
...
我的问题是在这种情况下state 和{...state} 有什么区别?如果我更改newState=state,代码就会中断。但是,state 和 {...state} 的控制台日志看起来完全一样。
这是我的商店:
import {cusDataReducer} from './cusdata'
let rootReducer = combineReducers({
cusdata: cusDataReducer
});
export const Store = createStore(rootReducer,applyMiddleware(thunk))
【问题讨论】:
-
虽然以下是针对 React 状态的,但同样的(不变性)原则也适用于 Redux reducer:How to update nested state properties in React
标签: javascript ecmascript-6 redux