数据库内容更改时呈现页面

Render page when database contents changes

所以假设我有一个显示所有用户 post 的页面。现在,当用户创建 post 时,它会将其存储到数据库中。但是,除非我退出应用程序并重新登录,否则新的 post 不会出现。我怎样才能使 post 出现而无需注销?

const [Posts,setPosts] = useState([])

useEffect(()=>{
const fetchUserPosts = async () => {
const res = await client.get('/fetch-user-posts')
setPosts(res.data.posts)
}
fetchUserPosts()
},[])

在渲染中,我只是获取了 Posts 并将其映射以显示其内容。我知道这个问题存在于某处,但我不知道 google 的关键字是什么。我看到 post 要求使用 JQuery 但我敢打赌有更简单的解决方案吗?任何指针表示赞赏。

从useEffect中取出fetchUserPosts的功能,像这样:

    const fetchUserPosts = async () => {
        const res = await client.get('/fetch-user-posts')
        setPosts(res.data.posts)
    }

现在,useEffect 将是这样的:

    useEffect(() => {
        fetchUserPosts()
    }, [])

接下来,无论你创建用户帖子的功能在哪里,都像这样调用 fetchUserPosts() :

    const addUserPosts = async () => {
        // logic of adding new user post
        if (success) {
            await fetchUserPosts()
        }
    }