这是我的减速机。我想在没有重复的情况下向我的数据中添加新数据。 但是在添加新数据时,我正在获得重复数据。而且我想删除基于ID的数据。
任何人都可以帮助我。
如何更新数据?
export const dataReducer = (state= InitialState , action = null) => {
switch(action.type) {
case types.ADD_DATA:
return Object.assign({}, state, {data:[...state.data, action.payload]});
case types.REMOVE_DATA:
return Object.assign({}, state, {data:[]});
default:
return state;
}
}
答案 0 :(得分:4)
您可以使用filter
方法:
export const dataReducer = (state = InitialState, action = null) => {
switch(action.type) {
case types.ADD_DATA:
return Object.assign({}, state, {
data: [
...(state.data.filter(item => (item.id !== action.payload.id))),
action.payload
]
});
case types.REMOVE_DATA:
return Object.assign({}, state, {
data: [
...(state.data.filter(item => (item.id !== action.payload.id))),
]});
default:
return state;
}
}