所以假設我有一個顯示所有用戶帖子的頁面。現在,當用戶創建帖子時,它會將其存盤到資料庫中。但是,除非我退出應用程式并重新登錄,否則該新帖子不會出現。我怎樣才能使帖子出現而無需注銷?
const [Posts,setPosts] = useState([])
useEffect(()=>{
const fetchUserPosts = async () => {
const res = await client.get('/fetch-user-posts')
setPosts(res.data.posts)
}
fetchUserPosts()
},[])
在渲染中,我只是將其Posts映射并顯示其內容。我知道這個問題存在于某個地方,但我不知道谷歌的關鍵字是什么。我看過要求使用 JQuery 的帖子,但我敢打賭有更簡單的解決方案嗎?任何指標表示贊賞。
uj5u.com熱心網友回復:
從 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()
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/440234.html
標籤:javascript 反应 反应式 异步
上一篇:如何參考兩個類的實體?
