Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从MERN中的数据库中删除后,删除的项目仍显示在主页上_Javascript_Reactjs_Axios_React Hooks_Mern - Fatal编程技术网

Javascript 从MERN中的数据库中删除后,删除的项目仍显示在主页上

Javascript 从MERN中的数据库中删除后,删除的项目仍显示在主页上,javascript,reactjs,axios,react-hooks,mern,Javascript,Reactjs,Axios,React Hooks,Mern,我正在使用MERN stack和用于状态管理的上下文API创建一个博客网站,在该网站中,我在主页上显示所有博客,但一旦任何博客被删除或添加,博客页面将重定向到主页,删除的博客仍会出现,新创建的博客也不会出现在那里(由于在删除或添加API之前从API获取博客),除了重新加载主页之外,还有其他解决方法吗? 在安装主页组件时,在useEffect()中使用fetchBlog() const { blogs, getAllBlogs, loading } = useContext(BlogContext

我正在使用MERN stack和用于状态管理的上下文API创建一个博客网站,在该网站中,我在主页上显示所有博客,但一旦任何博客被删除或添加,博客页面将重定向到主页,删除的博客仍会出现,新创建的博客也不会出现在那里(由于在删除或添加API之前从API获取博客),除了重新加载主页之外,还有其他解决方法吗? 在安装主页组件时,在useEffect()中使用fetchBlog()

const { blogs, getAllBlogs, loading } = useContext(BlogContext);
useEffect(() => {
    getAllBlogs();
  }, []);

从 创建新博客时,网站将重定向到主页,但新创建的博客可能不在主页上。 如果它不是很清楚,那么请尝试在这个应用程序上创建一个新的博客,你会理解这个问题。

由于缺乏详细信息,目前还无法回答您的问题。在切换回主页后,您是否会获取实际帖子?如果您不获取,那么为什么?如果获取,那么具体如何获取?@skyboyer,是的,我正在获取主页上的帖子,获取所有帖子的功能正在主页挂载上运行。最好在问题中添加代码示例。sure、 不完整组件的源代码,但路由配置+获取主页的一部分+导航到的代码homepage@skyboyer我已经更新了问题陈述,您能帮我吗?据我在DevTools中看到的,您的代码在创建时就正确无误了。但是为什么这个端点返回陈旧的数据而没有刚刚创建的条目?我不知道,但这肯定不是React part的问题。您需要深入研究服务器代码,并相应地更新此问题。
const saveHandler = () => {
    if (title === "" || image === "") {
      setAlert("Please fill all the fields", "warning");
    } else {
      const contentState = editorState.getCurrentContent();
      createBlog({
        title,
        image,
        body: JSON.stringify(convertToRaw(contentState)),
      });
      history.push({
        pathname: "/",
      });
    }
  };