const [users, setUsers] = useState([]); const getUsers = async () => { const URL = "https://jsonplaceholder.typicode.com/users"; const response = await fetch(URL); const data = await response.json(); console.log(data); // return 10 array . setUsers(data); console.log(users); // return empty Array }; useEffect(() => { getUsers(); }, []);cuando ejecuto este código y vuelvo a cargar el navegador, la variable de datos muestra 10 matrices (eso es lo que esperaba) y el estado de los usuarios no devuelve una matriz vacía (ese es el problema). Y luego estoy cambiando algo en el código, y llego al navegador, la variable de datos y el estado de los usuarios muestran 10 matrices. Eso significa que estoy tratando de decirle que, cuando estoy recargando el navegador por primera vez, el estado no se establece desde la variable de datos. Vea el resultado de la consola para comprender mejor
Establecer un estado es un proceso asíncrono. Es por eso que no verá el efecto inmediato después de llamar a setUsers() . Más bien, puede agregar otro useEffect en su código y ver los cambios que ocurren para users
// ... other code useEffect(() => { // this will run after the 'users' has been changed console.log("Users", users) }, [users]); // ... Después de agregar este useEffect , verá que los users se imprimirán después de que se actualice.