javascript - 使用 React Hooks 时控制台日志显示超出预期
问题描述
我正在尝试从 Api 获取数据。我得到了所需的结果,但是当我尝试控制台记录它时,它是控制台记录 4 次。
这是我app.js
使用 fetchData 的地方。
import React, {useEffect, useState} from 'react';
import styles from './App.modules.css';
import {Header, Cards, Footer, Map, Table, Statecards} from './components/exports';
import {fetchData} from './api';
function App() {
const [data, setData] = useState({});
useEffect(() => {
const settingData = async () => {
const data = await fetchData();
setData(data);
}
settingData();
}, []);
console.log(data);
return <div className = {styles.container}>
<Header />
</div>
;
}
export default App;
这是 fetchData 函数
import axios from 'axios';
const url = 'https://api.covid19india.org/data.json';
export const fetchData = async () => {
try{
const response = await axios.get(url);
return response;
}
catch(err){
console.log(err);
}
};
app.js 中的 console.log 给出了 4 个控制台日志,如下所示
我无法弄清楚出了什么问题。
解决方案
const settingData = async () => {
const data = await fetchData();
setData(data);
}
useEffect(() => {
settingData();
}, []);
试试这个。
推荐阅读
- javascript - Electron App - 将主进程分成几个文件并共享变量
- reactjs - 使用 auth0 的 localhost 上的 Samesite cookie 错误
- python - Tkinter - 在某些条件下启用/禁用条目小部件
- c - 为什么内存用户空间顶部的指令地址与linux进程内存布局相反?
- java - GroovyShell 线程安全
- java - 在目录路径 java 中找不到 jconsole
- android - Android数据绑定不能在里面
用于 zxing-android-embedded - c++ - 如何在不使用循环的情况下从 ITK 图像中获取数组?
- javascript - 如何在 JSON 中选择给定值匹配属性值?
- css - CSS 样式不适用于 Wordpress 网站