未捕获的类型错误:无法读取未定义的属性(读取“dailyconfirmed”)
2022-04-14
468
我的代码有什么问题?在页面重新加载后访问 mydata.daily confirmed 时出现错误?
const[state,setState]=useState({});
async function getApiIndia1(){
const temp=await fetch('https://data.covid19india.org/data.json')
const mydata=await temp.json();
setState(mydata)
}
useEffect(() => {
getApiIndia1();
}, [])
2个回答
您无法在
getApiIndia1
之外访问
mydata
(我假设您正在尝试这样做)。它仅在该块中定义,这就是您使用 state 的原因(本质上是为了全局保存所需的数据)。找不到 mydata,这就是它抛出错误的原因。
您应该做的是访问
state
,这是您存储该数据的地方。
但这仍然会抛出未定义的错误。这是因为先前的答案已经强调过这个问题。您需要访问
state.cases_time_series.dailyconfirmed
。这应该会为您提供所需的数据。
仔细检查 API 响应始终是一个好主意。;)
princess_hacker
2022-04-14
更新 setState
setState(mydata.cases_time_series)
当您希望查找 dailyconfirmed 时,循环遍历您的状态,它基本上是一个对象数组。
state.map((dailyconf)=>{
if(dailyconf?.dailyconfirmed) console.log(dailyconf?.dailyconfirmed)
})
Ritik Banger
2022-04-14