reactjs - React Hook useEffect :使用 axios 和 async await 获取数据 .api 调用连续相同的 api
问题描述
当我从一个数组中获取数据API
并将响应设置为使用useEffect
它调用API
重复连续时。
let [product, setproduct] = useState([]);
async function fetchData() {
let response = await axios(
`api`
);
let user = await response.data;
setproduct(user);
console.log(product);
}
useEffect(() => {
fetchData();
});
解决方案
从文档中,
每次渲染后都会运行 useEffect 吗?是的!默认情况下,它会在第一次渲染后和每次更新后运行。(我们稍后会讨论如何自定义它。)与其考虑“安装”和“更新”,您可能会发现更容易认为效果发生在“渲染后”。React 保证 DOM 在运行效果时已经更新。
您可以提供空的依赖数组 /[]
作为 的第二个参数,它与在组件生命周期中只执行一次的useEffect
相同。componentDidMount
useEffect(() => {
fetchData();
}, []); //This will run only once
推荐阅读
- javascript - show.bs.modal 不显示动态内容
- recursion - 我需要从链表中删除所有其他元素
- lua - LUA - 是否可以在多维表中获取索引值?
- c++ - C++如何计算数组中重复元素的总数?
- excel - 你如何找到连续丢失的数字
- javascript - React-Native:当单独组件的值更改时如何更新组件值(并显示更新的值)
- c# - 使用 c# net-core 从不同的 SQL 表中获取 IEnumerable/List
- reporting-services - SQL Server 报告服务:SSRS 的这些区域的配置是否被脚本化
- javascript - 如何每天而不是每次刷新页面时随机化背景图像
- javascript - 根据属性创建产品变体