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

184
Vistas
TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo 'forEach') - OpenWeather

Estoy trabajando en un proyecto de aplicación meteorológica en React como principiante. Estoy usando OpenWeatherAPI en ese caso.

Mi problema es cuando trato de usar forEach, da un error como aparece a continuación.

 ApiCall.jsx:15 Uncaught TypeError: Cannot read properties of undefined (reading 'forEach')

Aquí está mi componente de encabezado:

 import ApiCall from './ApiCall'; function Header() { const cities = ["İstanbul", "Ankara", "İzmir"] return ( <div> <div className="header"> <select name="selection"> <option value="istanbul">{cities[0]}</option> <option value="ankara">{cities[1]}</option> <option value="izmir">{cities[2]}</option> </select> </div> <ApiCall getCities={cities} /> </div> ) } export default Header

Y este es mi componente ApiCall:

 import axios from "axios" import { useEffect, useState } from "react" function ApiCall({ getCities }) { const[data, setData] = useState([]) useEffect(() => { axios(`https://api.openweathermap.org/data/2.5/forecast?q=${selectCity}&appid=c681e6e33ec339728fdf88e0b24a2a01`) .then(res => setData(res.data)) .catch(err=> console.log(err)) }) const { city, list } = data const selectCity = getCities.array.forEach((element) => { if (city.name === element) { return element } }); return ( null ) } export default ApiCall

Todas las respuestas serán apreciadas.

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El foreach debería ser así

 getCities.forEach

En vez de

 getCities.array.forEach

Qué piensas ?

Si getCities es una matriz, debe usar forEach en lugar de usar .array.forEach

about 4 years ago · Santiago Trujillo Denunciar

0

Parece que intenta filtrar todas las ciudades disponibles con las ciudades que obtiene como propiedad de su componente ( getCities ).

Dado que getCities es una matriz, puede llamar directamente a la función forEach y recorrer las ciudades, pero como desea aplicar un filtro, creo que es mejor usar el método de filtro integrado de Javascript.

 const selectCity = getCities.filter((possibleCityName) => { return city.name === possibleCityName) });
about 4 years ago · Santiago Trujillo 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