在Redux的对象属性中使用不同的数组替换数组,而不进行变异
我有一个redux状态,它不像建议的redux状态那样平坦。然而,我所有的CRUD操作都能正常运行,只有一个除外 “我的状态”的格式如下:在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数组
{
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是一个多维数组,如果这有区别的话。