Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

313
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda