Obtengo datos de la API usando useQuery cuando cargo los datos de la página, pero cuando actualizo los datos de la página desaparecen, ¿alguna idea de por qué?
const { isLoading, data } = useQuery("page-data", () => { return api.get(`/landing_pages/204`); }); useEffect(() => { console.log("Page data", data); // when I refresh the page its undefined }, [])Los datos no están undefined mientras su consulta se esté cargando. Su useEffect tiene una matriz de dependencia vacía, por lo que se ejecuta solo una vez cuando se monta el componente, pero no cuando se actualiza.
Pero data se definirán solo en la representación consecutiva, por lo tanto, cuando el componente se actualice.
Entonces, para acceder a él dentro de useEffect , debe agregar isLoading como una dependencia y verificar que se complete la carga.
useEffect(() => { if(!isLoading){ console.log("Page data", data); // when I refresh the page its undefined } }, [isLoading])