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

226
Vistas
La llamada API React devuelve una respuesta vacía y luego devuelve los datos

Cuando sigo esta documentación https://reactjs.org/docs/faq-ajax.html ejecuto el código y si i console.log() la variable de elementos en la declaración de devolución. Recibo lo siguiente que causa problemas porque la primera respuesta está vacía: ingrese la descripción de la imagen aquí

El código que utilicé es el siguiente:

 import React, {useState, useEffect} from 'react'; import logo from './logo.svg'; import './App.css'; function App() { const [error, setError] = useState(null); const [isLoaded, setIsLoaded] = useState(false); const [items, setItems] = useState([]); useEffect(() => { fetch("http://www.7timer.info/bin/api.pl?lon=113.17&lat=23.09&product=astro&output=json") .then(res => res.json()) .then( (result) => { setIsLoaded(true); setItems(result); }, // Note: it's important to handle errors here // instead of a catch() block so that we don't swallow // exceptions from actual bugs in components. (error) => { setIsLoaded(true); setError(error); } ) }, []) if (error) { return <div>Error: {error.message}</div>; } else if (!isLoaded) { return <div>Loading...</div>; } else { return ( <ul> {console.log(items)} </ul> ); } } export default App;

Cualquier ayuda sería genial.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No es un problema de 'la primera respuesta está vacía'. Primero, console.log se ejecuta antes de que se ejecute el código asíncrono, cuando se ejecuta el código asíncrono y usted cambia su estado, el componente vuelve a representar y vuelve a ejecutar el archivo console.log con elementos recién actualizados que ahora están llenos de datos obtenidos de API.

Quizás debería leer un poco más sobre los ciclos de vida de los componentes de reacción :)

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar un condicional para ejecutar su código solo si el resultado no está vacío para evitar fallas.

 if (result) { //your code }
about 4 years ago · Juan Pablo Isaza Denunciar
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