1
我想包围我的头如何减速器的作品,所以我可以添加一个REMOVE_ITEM到我的动作处理程序。我目前的尝试给了一个state.filter不是一个函数错误。了解扩展和解构使用在以下reducer
// ------------------------------------
// Action Handlers
// ------------------------------------
const ACTION_HANDLERS = {
[GET_POSTS]: (state, action) => ({ ...state, ...action.payload}),
[PICK_ITEM]: (state, action) => ({ ...state, ...action.payload}),
[REMOVE_ITEM]: (state, action) => ({...state.filter(item => item !== action.payload)}) // <-- NOT WORKING
}
// ------------------------------------
// Reducer
// ------------------------------------
const initialState = []
export default function contentReducer (state = initialState, action) {
const handler = ACTION_HANDLERS[action.type]
return handler ? handler(state, action) : state
}
我不太确定那里的传播和解构是怎么做的。如果我理解正确,传播会给我们一个复制版本的状态,所以我们不会改变它,但以下内容如何:handler(state, action)
创建我们的新状态?