Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

87
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!