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

312
Views
¿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
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!