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

98
Visualizações
useEffect devolviendo diferentes valores en React

Tengo una API que solicita una consulta en PostgreSQL, así que tengo esto:

 const getPresupuestos = () => { return new Promise(function(resolve, reject) { pool.query('SELECT * FROM presupuestos ORDER BY id ASC;', (error, results) => { if (error) { reject(error) } resolve(results.rows); }) }) }

Y luego en el índice tiene esto:

 app.get('/', (req, res) => { bd.getPresupuestos() .then(response => { res.status(200).send(response); }) .catch(error => { res.status(500).send(error); }) })

El problema es que tengo una aplicación de reacción desde la que intento obtener el valor de la consulta como una cadena con este código:

 const [presupuestos, setPresupuestos] = useState(false); useEffect(() => { getPresupuestos(); console.log(presupuestos) //return in console }, []); function getPresupuestos() { fetch('http://localhost:3001') .then(response => { return response.text(); }) .then(data => { setPresupuestos(data); //value wanted }); }

Y la primera vez que ejecuto esto, el console.log devuelve la consulta que quiero, pero si actualizo la página, obtengo un false del mismo console.log .

Soy bastante nuevo en React, por lo que estaría agradecido si alguien pudiera decirme por qué sucede esto y cómo obtener el valor que necesito.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Como su función getPresupuestos está actualizando el estado después de resolver la promesa, lo que puede llevar algún tiempo y no podrá obtener su valor inmediatamente después. Lo que podría hacer es registrar los datos en then resuelva.

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