我正在使用Redux
。在以下的减速器中,如果使用,则会出现错误:
return({...state, action.payload});
相反:
const add= (stateaction) => {
switch (action.type) {
case "ADD":
const {payload} = action;/// <=
return({...state, payload}); // <= instead of thes two lines
default:
return state;
}
};
我记得我们可以通过添加括号来做到这一点,例如:
return({...state, [action.payload]});
但无法正确处理。
答案 0 :(得分:2)
如果您需要状态中的有效载荷内容,也可以传播它:
const add = (state, action) => {
switch (action.type) {
case "ADD":
return {...state, ...action.payload };
default:
return state;
}
};
如果状态是数组,则可以使用array spread向其中添加项目:
const add = (state, action) => {
switch (action.type) {
case "ADD":
return [...state, action.payload];
default:
return state;
}
};