React Hooks: useEffect()调用了两次问题分析
正文
使用create-react-app脚手架创建的React前端项目,在函数式组件中使用useEffect加载接口数据时 发现一个奇怪的问题:刷新页面接口调用了两次!!。
代码分析
useEffect(() => {
const wrapper = async () => {
await fetchData();
}
wrapper().then(r => {});
}, [param])在 React Hooks: useEffect() is called twice even if an empty array is used as an argument 找到了答案。
原因
原因是开发环境使用了React严格模式,代码编译后在正式环境不会出现这样的问题。
如果在开发环境不想出现这种情况,可以在index.tsx中找到下面的代码:
root.render(
<React.StrictMode>
<RouterProvider router={router}/>
</React.StrictMode>
);修改为:
root.render(
<RouterProvider router={router}/>
);问题解决。
以上就是React Hooks: useEffect()调用了两次问题分析的详细内容,更多关于React Hooks useEffect()调用的资料请关注脚本之家其它相关文章!
相关文章
一篇文章介绍redux、react-redux、redux-saga总结
这篇文章主要介绍了一篇文章介绍redux、react-redux、redux-saga总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-05-05
详解Jotai Immer如何实现undo redo功能示例详解
这篇文章主要为大家介绍了详解Jotai Immer如何实现undo redo功能示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04
封装一个最简单ErrorBoundary组件处理react异常
这篇文章主要介绍了一个处理react异常的ErrorBoundary组件,简单实用,代码详细,对这个组件感兴趣的朋友可以参考下2021-04-04
react使用css module无法重写bootstrap样式问题及解决
这篇文章主要介绍了react使用css module无法重写bootstrap样式问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11


最新评论