数据库内容更改时呈现页面
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()
}
}
所以假设我有一个显示所有用户 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()
}
}