dailyResults
меняется многократно, потому что вы перебираете много данных, поэтому, вероятно, вы запрашиваете также кратные csv данные, тогда вам, вероятно, потребуется бесконечный l oop и ваш стек браузера при изменении также * Переменная 1002 * столько раз, сколько вы перебираете переменную data
.
Итак, насколько я понимаю, вы хотите добиться, чтобы извлечь Location
, Latitude
и Longitude из dataJSON
, а также извлечь TotalCases
из CSV, сравнив Area
с Location
. Если это так, вы можете сделать это простым способом:
После анализа данных из CSV, l oop over dataJSON
и data
, например, используя постоянную переменную для pu sh объект с вышеупомянутыми данными, которые вы хотите включить:
let dailyResults = [];
data.find((csv) => {
dataJSON.forEach((json) => {
if (csv.Area === json.Location) {
dailyResults.push({
Location: json.Location,
Latitude: json.Latitude,
Longitude: json.Longitude,
TotalCases: csv.TotalCases,
});
}
});
});
и удалить dailyResults
из массива зависимостей:
useEffect(() => {
getData();
}, []);
Демо