javascript - 为什么我的应用程序给出错误:未定义 DailyData
问题描述
Api->index.js
import axios from 'axios';
const url = 'https://api.covid19india.org/data.json';
export const fetchDailyData = async () => {
try {
const response = await axios.get(url);
return response.data.statewise;
} catch (error) {
return error;
}
};
Body.js
class Body extends Component {
state = {
dailyData: []
};
componentDidMount()
{
const fetchMyAPI = async () => {
const initialDailyData = await fetchDailyData();
// console.log(initialDailyData); // giving correct data that is an Array
this.setState({
dailyData: initialDailyData,
})
console.log(dailyData) // gives error : dailyData is not defined
// console.log(this.dailyData) // gives undefined
};
fetchMyAPI();
}
我的 API 运行良好,它返回了我想要的东西,但是当我尝试设置dailyData
变量时,当我尝试访问它时,它给出未定义或给出错误(当我在没有这个的情况下使用它时)。 .)
解决方案
dailyData
是状态对象的一个属性。所以你应该从州打电话
console.log(this.state.dailyData)
你有空数组
因为 reactsetState
是异步的,所以你应该在状态更新后调用。它在setState
回调时可用
this.setState({
dailyData: initialDailyData,
}, () => {
console.log(this.state.dailyData) // you are received updated value
})
推荐阅读
- vba - 使用书签访问 Word,如果书签留空,如何执行操作
- php - 如何在 div 标签中添加占位符
- http-live-streaming - 如何启动 live555HLSProxy
- bootstrap-4 - Bootstrap 4中类行和表单行之间的区别
- docker - 无法初始化日志记录驱动程序:无法连接或使用 Google Cloud Logging 进行身份验证
- c++ - 分割错误 - 硬币数量
- r - 为 ggplot barplot 设置 xmin 和 xmax 值
- vba - 使用切换按钮显示/隐藏图片 Powerpoint VBA
- azure-devops - Azure 管道 - VsTest - testAssemblies 不捕获 TestMethod 日志
- react-native - 反应原生背景图像和形状