【发布时间】:2020-08-04 12:14:57
【问题描述】:
我正在使用 React 开发一个 COVID 跟踪器网络应用程序。我已经根据需要修改了从 api 获取的 JSON 数据。但是当我通过循环进行测试时,它不会显示任何内容。当我尝试将它登录到我的控制台时,它显示数组中的元素为空且未定义。
这是我用来获取数据的代码
const districts = [];
const fetchedData = fetch(
"https://api.covid19india.org/state_district_wise.json"
)
.then((res) => res.json())
.then((data) => {
for (let district in data["Tamil Nadu"].districtData) {
districts.push(
// obj["district"] = [district];
data["Tamil Nadu"].districtData[district],
);
districts.map((districtName)=>{
districtName.district = district
})
}
});
// for (var key in districts) {
// console.log(key);
// }
console.log(districts)
【问题讨论】:
-
fetch是异步的,尝试将console.log(districts)移动到districts.map(...);之后 -
不相关的问题,但是您也误用了
.map(),当您只想执行迭代时使用.forEach(),.map()用于转换元素并返回修改后的数组。见Is performing a mapping operation without using returned value an antipattern?
标签: javascript arrays json reactjs fetch