У меня есть массив любимых городов, которые я пытаюсь получить данные для каждого города, зациклив мой массив и вызвав функцию выборки. У меня проблема в том, что он получает только последний элемент в массиве и отображает одну карту погоды вместо одной карты на любимый город. Чтобы запустить это, у меня есть событие click, которое вызывает функцию, которая зацикливает каждый любимый город и вызывает выборку для названия этого города. Нажав кнопку несколько раз, я могу получить все города один за другим, но хочу программно получить все города одним щелчком мыши.
Вот мой код:
//This is my click function and favorites is an array with citys ex. ['New York','Paris','Rome']
const handleFavorites = () => {
props.queryArray(favorites);};
//This is my fetch function where i try to loop with map (I have also tried with forEach)
const handleQueryArray = async queryArray => {
queryArray.map(async query =>{
let fetchedWeather = await GetWeatherData(query);
let fetchedForecast = await GetForecastData(query);
if (fetchedWeather.cod === 200) {
if (!search.includes(fetchedWeather.name)) {
setSearch([...search, fetchedWeather.name]);
let storedWeather = [...weatherData, fetchedWeather];
let storedForecast = [...forecastData, fetchedForecast];
setWeatherData(storedWeather);
setForecastData(storedForecast);
}
} else {
console.log("No data");
}
})};