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

190
Vistas
El gancho UseEffect en next.js está causando 2 solicitudes de recuperación cuando espero 1, ¿por qué?

El siguiente código está provocando que se realicen 2 solicitudes a mi API con el punto final GET. No entiendo useEffect() lo suficiente como para saber dónde comenzar a depurar, pero no quiero causar una tensión innecesaria en los servicios a los que estos puntos finales API llamarán del lado del servidor. Esto se debe a que llamarán a los servidores de Windows para que activen las solicitudes de eliminación en el directorio activo, etc.

 function Ad() { const [data, setData] = useState(null) const [isLoading, setLoading] = useState(false) useEffect(() => { setLoading(true) fetch('../api/decom/ad') .then(response => response.json()) .then(data => { setData(data) setLoading(false) if (data.exists == true) { Remove() } }) }, []) const Remove = () => { fetch("../api/decom/ad", { method: "DELETE" }) .then(response => response.json()) .then(data => { var inner = "" if (data.removed == true) { inner = `<p>Removed: ${greenCircle}</p>` } else { inner = `<p>Removed: ${redCircle}</p>` } document.getElementById('adremoved').innerHTML = inner }) } if (data != null && data.exists == true) return ( <a className={styles.card}> <h2>AD</h2> <p>Exists: { greenCircle } </p> <div id ="adremoved" className={styles.parent}> <p className={styles.child}>removed:</p> <div><div className={styles.loader}><div></div><div></div><div></div></div></div> </div> </a> ) if (data != null && data.exists == false) return ( <a className={styles.card}> <h2>AD</h2> <p>Exists: {redCircle} </p> <p>Removed:{redCircle}</p> </a> ) if (isLoading) return ( <a className={styles.card}> <h2>AD</h2> <div className={styles.parent}> <p id="adstatus" name="adstatus" className={styles.child}>Exists:</p> <div id="adloader"><div className={styles.loader}><div></div><div></div><div></div></div></div> </div> <p>Removed:{redCircle}</p> </a> ) }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

const [isLoading, setLoading] = useState(true) useEffect(() => { if(isLoading){ fetch('../api/decom/ad') .then(response => response.json()) .then(data => { if (data.exists == true) { Remove() }else{ setData(data) } setLoading(false) }) } }, [isLoading])
about 4 years ago · Santiago Trujillo 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