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

228
Vistas
Extraer datos obtenidos usando el método de mapa

Estoy tratando de obtener datos del sitio web de newsapi. Me da datos como matriz como formato de objeto.

ingrese la descripción de la imagen aquí

Ahora, mi objetivo es iterar estos datos y mostrar mi componente newsItem. Aquí está mi código a continuación.

 export class News extends Component { constructor(){ super() this.state = { articles: this.articles } } componentDidMount(){ fetch(`https://newsapi.org/v2/top-headlines?country=us&apiKey=d21fe13361b94006b816f98a7c005003`) .then(res =>res.json()) .then(data => this.setState({articles:data.articles})) } render() { return <div className='container my-3'> <h1 className='my-3'>NewsDonkey - Top Headlines</h1> <div className="row"> {this.state.articles.map(element=> console.log(element))} <div className="col-md-4"> <NewsItem/> </div> </div> </div>; } } export default News;

pero, los programas del navegador no pueden leer las propiedades de undefined. Aquí está la imagen del error. ingrese la descripción de la imagen aquí

Ahora, puede decir que los datos pueden estar en formato de objeto, por eso el método de mapa no funciona. Probé la misma codificación en JS: artículos. mapa (elemento => consola. registro (elemento)) extrajo datos perfectamente. Por favor, ayúdenme si encuentran algún error en mi codificación.

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

0

El valor inicial de state.articles es this.articles que no está undefined .

En algún momento en el futuro, asignará un valor útil a esa propiedad, pero hasta entonces no podrá tratarla como la matriz que será en el futuro pero que todavía no lo es.

Pruebe el valor y haga algo diferente.

p.ej

 (!this.state.articles && <Loading />} {this.state.articles && this.state.articles.map(element=> console.log(element))}
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