Supongamos que tengo una página que muestra todas las publicaciones del usuario. En este momento, cuando el usuario crea una publicación, la almacena en la base de datos. Pero esa nueva publicación no aparecerá a menos que cierre sesión en la aplicación y vuelva a iniciar sesión. ¿Cómo puedo hacer que la publicación aparezca sin tener que cerrar sesión?
const [Posts,setPosts] = useState([]) useEffect(()=>{ const fetchUserPosts = async () => { const res = await client.get('/fetch-user-posts') setPosts(res.data.posts) } fetchUserPosts() },[]) Y en el renderizado simplemente tomé las Posts y las mapeé para mostrar su contenido. Sé que este problema existe en alguna parte, pero no sé qué palabras clave buscar en Google. He visto publicaciones que piden usar JQuery, pero apuesto a que hay una solución más simple. Cualquier sugerencia es apreciada.
Saque la función de fetchUserPosts del useEffect de esta manera:
const fetchUserPosts = async () => { const res = await client.get('/fetch-user-posts') setPosts(res.data.posts) }Ahora, useEffect será así:
useEffect(() => { fetchUserPosts() }, [])A continuación, donde sea que esté la función de crear publicaciones de usuarios, llame a fetchUserPosts() de esta manera:
const addUserPosts = async () => { // logic of adding new user post if (success) { await fetchUserPosts() } }