redux中的reducer执行减一操作
export default (state = initialState, action) => {
const {total} = state
switch(action.type){
case ActionTypes.ADD:
// 加
return {...state, total: total + 1}
case ActionTypes.SUBTRACT:
// 减
return {...state, total: total - 1}
default:
return state
}
}
这里的return {...state, total: total - 1}
和默认返回的return state
有什么区别,
...state起了什么作用
由于 state 不能直接修改,所以
...state
是拷贝的作用,{ ...state, total: total - 1}
这样可以只修改 state 里的 total 字段,而不影响 state 的其他字段,,,注意
state.total = state.total - 1;
这样直接赋值是不被redux允许 的,所以要采用扩展运算符...