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

262
Vistas
¿Podemos cambiar el estado antes de hacer una llamada a la API que use ese estado? Reaccionar
 useEffect(() => { resetState(); if (page === 'ADMISSION') { fetchAdmissionKitPosts(); } else if (page === 'WEEKLY') { fetchWeeklyKitPosts(); } else if (page === 'FESTIVAL') { fetchFestivalKitPosts(); } }, [page]);

Entonces quiero hacer diferentes llamadas API basadas en la variable de página. Tengo que restablecer el estado antes de hacer esas llamadas. Pero mientras hago la llamada obtengo el estado anterior. Me di cuenta de que setState en reaccionar es de naturaleza asíncrona, así que asumo que es por eso que obtengo el estado anterior en las funciones de llamada API.

Entonces, mi pregunta es, ¿cómo puedo hacer que estas llamadas API solo se ejecuten después de que se haya restablecido el estado?

Sé que puedo usar una función de devolución de llamada en el componente basado en clases con la función setState. Pero quiero mantener este componente funcional.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede implementar la devolución de llamada setState en el componente funcional con useEffect . si lo estoy haciendo bien, está utilizando dos páginas de variables de estado y publicaciones , si este es el caso, debe usar dos métodos useEffect como este:

 useEffect(() => { if(page !== ''){ setMarketingPosts([]) } }, [page]); useEffect(() => { if (page === 'ADMISSION') { fetchAdmissionKitPosts(); } else if (page === 'WEEKLY') { fetchWeeklyKitPosts(); } else if (page === 'FESTIVAL') { fetchFestivalKitPosts(); } setNextPageToken('') }, [post]);
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