Javascript 我得到;posts.map不是一个函数;删除帖子时出错

Javascript 我得到;posts.map不是一个函数;删除帖子时出错,javascript,reactjs,function,components,Javascript,Reactjs,Function,Components,当我删除一篇文章时,会出现“posts.map不是一个函数”错误,但如果我刷新一个页面,它会再次正常工作,有关于如何修复它的评论或提示吗 我使用以下功能删除我的帖子: const deletePost = (id) => { const fetchData = async (id) => { await axios.delete('http://localhost:5000/posts/'+id); setPosts({

当我删除一篇文章时,会出现“posts.map不是一个函数”错误,但如果我刷新一个页面,它会再次正常工作,有关于如何修复它的评论或提示吗

我使用以下功能删除我的帖子:

    const deletePost = (id) => {
        const fetchData = async (id) => {
        await axios.delete('http://localhost:5000/posts/'+id);
        setPosts({
            posts: posts.filter(element => element._id !== id)
        })
        };
        fetchData(id);
        // window.location = '/posts';
      };
我在以下位置获取的函数出错:

      const postList = () => {
            return posts.map(currentPost => {
                return <Post post = {currentPost} deleteExercise={deletePost} key={currentPost._id} />
            })
        };

似乎你把这些帖子当作一个对象:

setPosts({
        posts: posts.filter(element => element._id !== id)
    })
改为在获取中执行的操作:

setPosts( posts.filter(element => element._id !== id))

似乎你把这些帖子当作一个对象:

setPosts({
        posts: posts.filter(element => element._id !== id)
    })
改为在获取中执行的操作:

setPosts( posts.filter(element => element._id !== id))

在您
删除
一些您应该重新蚀刻的内容后,如果出现错误会发生什么?无论如何都要过滤过时数据的数组。在
删除
某些内容后,应该重新提取它,如果出现错误会发生什么?不管怎样,您都要过滤过时数据的数组。