在减速器中设置状态会产生类型错误
Setting state in a reducer yields type error
我正在通过 Redux Saga 返回数据并尝试用 Web 服务的结果覆盖我的空默认对象(returns 一个对象)。
我的 reducer 代码如下所示。
function newSalesNumber(state = {}, action) {
switch(action.type) {
case 'NEWSALESNUMBER_FETCHED':
return state
.set("orderHeader.orderId", action.result);
default:
return state;
}
}
export default newSalesNumber;
这是返回类型错误
uncaught at callGetNewSalesNumber TypeError: state.set is not a function
我觉得我在语法上遗漏了一些东西。在减速器中 set.state 的正确方法是什么?
如果您需要查看 Saga 代码,请告诉我。
State 没有设置。它不是 React 的 setState()。你也不能改变状态。尝试找到关于 redux 的一般信息,主要原则之一是不变性。
所以,你想做这样的事情:
return {...state, [orderHeader.orderId]:action.result}
...state 只是用于传播状态的 es6 语法糖。
在此处阅读有关传播的更多信息:link
我正在通过 Redux Saga 返回数据并尝试用 Web 服务的结果覆盖我的空默认对象(returns 一个对象)。
我的 reducer 代码如下所示。
function newSalesNumber(state = {}, action) {
switch(action.type) {
case 'NEWSALESNUMBER_FETCHED':
return state
.set("orderHeader.orderId", action.result);
default:
return state;
}
}
export default newSalesNumber;
这是返回类型错误
uncaught at callGetNewSalesNumber TypeError: state.set is not a function
我觉得我在语法上遗漏了一些东西。在减速器中 set.state 的正确方法是什么?
如果您需要查看 Saga 代码,请告诉我。
State 没有设置。它不是 React 的 setState()。你也不能改变状态。尝试找到关于 redux 的一般信息,主要原则之一是不变性。
所以,你想做这样的事情:
return {...state, [orderHeader.orderId]:action.result}
...state 只是用于传播状态的 es6 语法糖。 在此处阅读有关传播的更多信息:link