Tengo una función useEffect que llama a algunos datos de una base de datos y luego establece el valor como 'datos'. Mi problema es que useEffect hace que mi aplicación se reproduzca dos veces, lo que hace que el perfil de usuario proporcione dos valores durante la sesión, lo que me impide usar los datos:
const [data, setData] = useState([]); const [error, setError] = useState(null); useEffect(() => { fetch("http://localhost:5000/record") .then((res) => res.json()) .then( (result) => { setData(result); }, (error) => { setError(error); } ); }, []); let userProfile = data.find((x) => (x.email = user.email)); console.log(userProfile);Creo que este comportamiento es el esperado.
Puede usar useLayoutEffect si desea tener más control sobre cuándo obtener los datos.