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

308
Vistas
¿Por qué mi estado React no cambia después de llamar a setState?

Este problema solo ocurre cuando ejecuto mi aplicación React/Express en modo de desarrollo a través de un proxy Webpack. Básicamente, estoy buscando publicar algunos datos y recuperar algunos datos de mi servidor Express en /post. La solicitud se realiza correctamente con una respuesta 200.

No tiene ningún problema al pasar por la función setState , pero si imprimo el estado después, sigue siendo nulo a pesar de que lo configuro como una cadena válida. Como tal, los datos que busco mostrar en la pantalla cuando se llama nunca se muestran. Como se puede ver en la foto adjunta, los datos son todos válidos, pero el estado termina siendo 0.

Todo funciona correctamente si lo construyo antes de ejecutarlo y no obtengo la respuesta a través de un proxy.

Aquí está el repositorio completo y el componente relevante:

  • Informe: https://github.com/The-Briel-Deal/Flight_Scanner_MUI
  • Componente: https://github.com/The-Briel-Deal/Flight_Scanner_MUI/blob/main/src/components/ShowFlights.jsx
 // First of all, I use state with a object as follows. let [returnQuery, setReturnQuery] = React.useState({ price: null, connections: null, leaves: null, returns: null, link: null }) // Following I fetch from my express server. async function postData() { const response = await fetch('/search', { method: "POST", headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(props.searchState) }) return response.json(); } // After this I set my state as this return value postData().then((data) => { console.log(`data returned ${data.link}`) setReturnQuery({ price: data.price, connections: data.connections, leaves: data.leaves, returns: data.returns, link: data.link }) setTimeout(() => console.log(returnQuery), 5000) })

Lo que devuelve mi consola

about 4 years ago · Juan Pablo Isaza
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