【发布时间】:2021-08-03 23:57:44
【问题描述】:
我在 useEffect 中调用 api 并使用 useState 每次重新加载或访问我的页面时保存它时遇到一些问题。
我在 useEffect 中调用 api,然后使用 datas 变量中的 useState 设置其数据。并使用该数据在元素
当我第一次实现它时,它工作得非常好,我正在屏幕上获取我想要显示的数据,但是当我重新加载页面时,它会在屏幕上抛出一些错误,说我的 datas 变量未定义。
我正在分享我的代码和我遇到的错误的 sn-p。请帮我解决这个错误。
代码:-
import React, { useState, useEffect } from 'react';
import axios from 'axios';
import Casebox from './casebox';
import StatecaseContainer from './statecaseContainer';
function Home(){
const [datas, setDatas] = React.useState({});
React.useEffect(function effectFunction() {
function fetchapi() {
axios.get('https://api.covid19india.org/data.json')
.then((response) => {
setDatas(response.data);
});
}
fetchapi();
}, []);
return (
<div className="container-fluid caseinfocontainer">
<div className="row row-cols-1 row-cols-md-4 justify-content-center">
<Casebox
caseId="totalcases"
caseHeading="Infected"
caseCount={datas.statewise[0].confirmed}
/>
<Casebox
caseId="recovered"
caseHeading="Recovered"
caseCount="2892223"
/>
<Casebox
caseId="deaths"
caseHeading="Deaths"
caseCount="2892223"
/>
<Casebox
caseId="vaccinated"
caseHeading="Vaccinated"
caseCount="2892223"
/>
</div>
<StatecaseContainer />
</div>
)
}
export default Home;
我的错误:- enter image description here
注意:- 我想在页面被访问或重新加载时调用 api。
【问题讨论】:
标签: reactjs axios react-router react-hooks react-dom