在reducer中设置状态会产生类型错误

时间:2018-03-16 15:14:05

标签: redux redux-saga

我正在通过Redux Saga返回数据并尝试使用webservice(返回一个对象)的结果覆盖我的空默认对象。

我的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

我觉得我在语法上缺少一些东西。在reducer中set.state的正确方法是什么?

如果您需要查看Saga代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

国家没有一套。它不是React的setState()。你也不能改变状态。试着找到一般的redux,其中一个主要原则是不变性。

所以,你想做这样的事情:

return {...state, [orderHeader.orderId]:action.result} 

......状态只是用于传播状态的es6语法糖。 在此处阅读有关传播的更多信息:link