Javascript Redux分派未从阵列中删除项
我试图从数组中删除一个项,redux记录器显示一切正常 但是,在我单击x之后,它仍然显示在有序列表下 Reducer/posts.js 组件/TodoList.jsJavascript Redux分派未从阵列中删除项,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我试图从数组中删除一个项,redux记录器显示一切正常 但是,在我单击x之后,它仍然显示在有序列表下 Reducer/posts.js 组件/TodoList.js 您的代码中有一个小错误 case 'DELETE_POST': { return Object.assign({}, state, { posts: [...state.posts.filter(post=> post.id !== action.id)], }); }
您的代码中有一个小错误
case 'DELETE_POST': {
return Object.assign({}, state, {
posts: [...state.posts.filter(post=> post.id !== action.id)],
});
}
default:
return state
您发送的操作是DELETE\u POST,而您希望在代码中删除\u POST
case 'DELETE_POST': {
return Object.assign({}, state, {
posts: [...state.posts.filter(post=> post.id !== action.id)],
});
}
default:
return state
这对我很有用,谢谢你们的贡献
switch(action.type){
case 'ADD_POST':
return [
...state,
{
id:action.id,
text:action.text,
}
]
case 'DELETE_POST':
return state.filter(({ id }) => id !== action.id);
default:
return state
}
}
你能提供一个到演示的链接吗?或者至少显示它的内容。也许这会给你一些启示。这应该是“ADD_POST”的情况:返回{…state,posts:[…state.posts,{id:action.id,text:action.text,}]}检查我上面的评论,你的ADD_POST也不正确,这可能是因为你的代码中有其他错误,你的状态是一个对象,POST是其中的一个键,这是从你的DELETE_POST代码中看到的,如果不是这样,则需要更改DELETE_帖子。在任何情况下,我想知道你的减速机的初始状态是什么?是否可以更新代码,我很难理解内联代码。当然,请用ADD_POST和REMOVE_POST更新你的减速机代码以及初始状态,我将根据这些更新我的答案
case 'DELETE_POST': {
return Object.assign({}, state, {
posts: [...state.posts.filter(post=> post.id !== action.id)],
});
}
default:
return state
switch(action.type){
case 'ADD_POST':
return [
...state,
{
id:action.id,
text:action.text,
}
]
case 'DELETE_POST':
return state.filter(({ id }) => id !== action.id);
default:
return state
}
}