【发布时间】:2016-05-27 14:29:52
【问题描述】:
我是 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 中我不应该用状态做任何事情,我只需要返回新状态。我可以在 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
}
或者我应该把这个功能放在另一个地方?在 state 中编辑数据的最佳做法是什么?
【问题讨论】:
标签: javascript reactjs redux