因为在 Redux 的 Reducer 中,不能直接返回 state,而是要返回一个新的 state,所以可以使用下面的方式操作 state 从而减少代码量。
变更值
Object.assign({}, state, {
[action.subreddit]: posts(state[action.subreddit], action)
})
hc
添加 object
Object.assign({}, state, {
todos: [
...state.todos,
{
text: action.text,
completed: false
}
]
})
添加值到数组
[ ...state, action.productId ]
删除 object
state.filter(c => c.id !== commentId);
删除数组指定位置的 item
const index = state.indexOf(action.childId)
return [
...state.slice(0, index),
...state.slice(index + 1)
]