在Redux的对象属性中使用不同的数组替换数组,而不进行变异

在Redux的对象属性中使用不同的数组替换数组,而不进行变异,redux,react-redux,Redux,React Redux,我有一个redux状态,它不像建议的redux状态那样平坦。然而,我所有的CRUD操作都能正常运行,只有一个除外 “我的状态”的格式如下: { id: "adsfli23r89hdasd" items: [ {...stuff}, {...otherStuff}, {...differentStuff} ] lastUpdated:"2017-04-26T22:14:44.204Z" } 我有一个reducer,我希望能够用一个新值替换整个items数组

我有一个redux状态,它不像建议的redux状态那样平坦。然而,我所有的CRUD操作都能正常运行,只有一个除外

“我的状态”的格式如下:

{
  id: "adsfli23r89hdasd"
  items: [
    {...stuff},
    {...otherStuff},
    {...differentStuff}
  ]
  lastUpdated:"2017-04-26T22:14:44.204Z"
}
我有一个reducer,我希望能够用一个新值替换整个items数组,但无法让它工作

所以类似这样的方法是有效的:

return {
  ...state,
  items: [],
  lastUpdated: action.lastUpdated
}
但这并不是:

return {
  ...state,
  items: action.myNewStateArray,
  lastUpdated: action.lastUpdated
}
其中,
action.myNewStateArray
通过action creator传递到reducer中,等于:

[
  {...newStuff},
  {...newOtherStuff}
]
注意:
操作。myNewStateArray
可能具有不同的项数,应假定与现有状态完全不同

有人知道我该怎么做吗?提前谢谢


更新:下面是一些更深入代码的要点,

是否返回<代码>返回{…状态,项:[…action.myNewStateArray],lastUpdated:action.lastUpdated}工作?嘿@vincenttaing,尝试过,但似乎不工作:/。Items是一个多维数组,如果这有区别的话。return
return{…state,Items:[…action.myNewStateArray],lastUpdated:action.lastUpdated}
work?嘿@vincenttaing,试过了,似乎不起作用:/。Items是一个多维数组,如果这有区别的话。