Tengo un problema, estoy tratando de hacer una solicitud a mi back-end para que cuando mi componente se cargue pueda recibir algunos datos para renderizar el problema es que la aplicación entra en un ciclo infinito de solicitudes que hace que mi ventilador gire joder, alguna solución?
useEffect(() => { Axios.post("http://localhost:3005/people", {UUID}).then((response) => { const peopleArray = []; for (let key in response.data) { peopleArray.push({ ...response.data[key] }); } setPeople(peopleArray); }); });
Necesita una matriz de dependencias para usarEffect, para ejecutar solo en el componente montado o cualquiera de estas dependencias cambia. como sin una serie de dependencias, se ejecutará con cada renderizado, lo que provocará un bucle infinito.
useEffect(() => { Axios.post("http://localhost:3005/people", {UUID}).then((response) => { const peopleArray = []; for (let key in response.data) { peopleArray.push({ ...response.data[key] }); } setPeople(peopleArray); }); }, []);
Revisa la Documentación o revisa este ejemplo w3school
Solo ejecute el efecto en el renderizado inicial:
useEffect(() => { Axios.post("http://localhost:3005/people", {UUID}).then((response) => { const peopleArray = []; for (let key in response.data) { peopleArray.push({ ...response.data[key] }); } setPeople(peopleArray); }); }, []); // <- add empty brackets here