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

140
Visualizações
La devolución de llamada no resuelve useState asíncrono

Chicos, estoy trabajando en la aplicación meteorológica y lucho con useState asíncrono. He leído en stackoverflow que se puede resolver con devolución de llamada en la función useState. Así que lo probé pero nada cambió. El problema es que cuando hago clic en el botón Enviar, el estado debe recibir datos de la API, pero no lo hace y obtengo un valor nulo en mi estado. ¿Qué está mal? Si puede, por favor ayúdeme de acuerdo con mi código. PD perdió algunas funciones que no son importantes

 const useForecast = () => { const [forecast, setForecast] = useState(null); const gatherForecastData = async data => { const currentDay = await getCurrentDayForecast(data.consolidated_weather[0], data.title); const currentDayDetails = await getCurrentDayDetailedForecast(data.consolidated_weather[0]); await setForecast(() => { return { currentDay, currentDayDetails}; }); setLoading(false); }; // MAIN FUNC AND TROUBLE IS HERE const submitRequest = async location => { setLoading(true); setError(false); const response = await getWoeid(location); if (!response?.woeid) return; const data = await getForecastData(response.woeid); if (!data) return; await gatherForecastData(data); console.log(data); // DATA SHOWS OK console.log(forecast); // SHOWS INITIAL STATE FOR THE FIRST SUBMIT }; }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

useState es síncrono, también, debe pasar los valores que desee, en este caso el objeto

{ día actual, detalles del día actual}

, por lo que estas líneas

 await setForecast(() => { return { currentDay, currentDayDetails}; });

debiera ser

 setForecast({ currentDay, currentDayDetails});
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