我是 Redux 的新手,但遇到了问题。我有一个对象数组,在该数组中添加一个新对象后,我想更改所有其他对象。例如,这样的事情:
[{id : 0, visible: false}, {id : 1, visible: true}] - old array
[{id : 0, visible: false}, {id : 1, visible : false}, {id : 2, visible : true}] - that I want
我应该在哪里准备旧状态?正如 redux 文档所说,在减速器中,我不应该用状态做任何事情,我只需要返回新状态。我可以在 reducer 中编写函数,准备先前状态的副本并作为新状态返回吗?就像是:
export function ui(state = initialState, action){
switch (action.type){
case "SOME_ACTION" :
var newState = someFunction(state.items, action)
return Object.assign({}, state, {
items : newState
});
default:
return state;
}}
function someFunction(array, action){
.... some code
return newArray
}
或者我应该把这个功能放在另一个地方?编辑状态数据的最佳实践是什么?