Javascript Redux分派未从阵列中删除项

Javascript 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)], }); }

我试图从数组中删除一个项,redux记录器显示一切正常

但是,在我单击x之后,它仍然显示在有序列表下

Reducer/posts.js

组件/TodoList.js


您的代码中有一个小错误

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
  }

}