Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

89
Vistas
La solicitud de React API se realiza antes de que se envíen los accesorios

En mi proyecto React, intento obtener algunos datos de una base de datos cuando se presiona un enlace. Cuando hago esto, puedo ver que mis accesorios no están definidos, lo que hace que se represente una página de React en blanco.

Verifiqué que la id no estaba indefinida como accesorio al iniciar sesión cuando se presiona el enlace. Sin embargo, cuando lo registro en el gancho useEffect() no está definido. ¿Cómo puedo hacer la solicitud solo una vez que se hayan pasado los accesorios?

 const user = useContext(UserContext); const id = props.followerId; useEffect(() => { axios .get(`http://localhost:3000/users/followers/${id}) .then((res) => { if (res.status === 200) { user.setFollower(res.data); } }) .catch((err) => { console.log(err); }); } }, []);
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede agregar una id en la matriz de dependencia para que, si la id cambia, useEffect se ejecute

y agregue una cláusula de protección en useEffect para que la solicitud solo se realice si hay una id como:

 const id = props.followerId; useEffect(() => { if (id) { // IF GUARD CLAUSE ONLY RUN IF ID IS SOMETHING axios .get(`http://localhost:3000/users/followers/${id}`) .then((res) => { if (res.status === 200) { user.setFollower(res.data); } }) .catch((err) => { console.log(err); }); } }, [id]); // ADD ID IN DEPENDENCY ARRAY
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe agregar id como dependencia en useEffect. Además, agregue un control booleano en id también.

 const user = useContext(UserContext); const id = props.followerId; useEffect(() => { !!id & & axios .get(`http://localhost:3000/users/followers/${id}) .then((res) => { if (res.status === 200) { user.setFollower(res.data); } }) .catch((err) => { console.log(err); }); } }, [id]);
about 4 years ago · Juan Pablo Isaza Denunciar

0

useEffect con una matriz vacía significa que solo se ejecuta cuando se monta el componente. si usa id en la matriz de dependencia useEffetc, se ejecutará cada vez que id cambie su valor y también en el montaje. entonces, si existe una identificación, llame a getFollower . como esto

 const user = useContext(UserContext); const id = props.followerId; useEffect(() => { const getFollower=(uid)=>{ axios.get(`http://localhost:3000/users/followers/${uid}`) .then((res) => { if (res.status === 200) { user.setFollower(res.data); } }) .catch((err) => { console.log(err); }); } } if(id) getFollower(id) }, [id]);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda