Tengo el código de la siguiente manera:
const [pageNumber, setPageNumber] = useState(1); useEffect(() => { const readDashboardPosts = async () => { let limit = 4; try { const res = await axios.post( ); setFriendPosts(res.data.posts); console.log('pos', res.data.posts); } catch (err) { console.error(err) } } readDashboardPosts(); console.log('friend-posts from state: ', friendPosts); }, [])En el primer renderizado, mi console.log es el siguiente:
pos (4) [{…}, {…}, {…}, {…}] friend-posts from state: []Entonces, obtuve los resultados del servidor con éxito, ya que console.log de 'pos' está funcionando, pero después de configurar el estado, no funciona correctamente porque obtengo una matriz vacía aunque estoy usando async await. También probé esto con useCallback, pero no tuve suerte.
en primer lugar, setState es asíncrono
segundo, para ver si el estado se establece correctamente, use React Devtools Vaya a Componentes e inspeccione su componente
O intente usar useeffect como este:
useEffect(()=>{ console.log('friend-posts from state: ', friendPosts); } ,[friendPosts])