请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于useEffect中多次调用接口问题

图片描述
我在此处调用接口
图片描述
页面上显示了两次打印数据,为什么?按理说 useEffect 的第二个参数传入了空数组,相当于vue中的mounted,应该只打印一次才对鸭。
图片描述
传入空数组,有个波浪线提示说:useEffect 钩子缺少依赖项 dispatch,要么用数组包含它,要么移除数组;移除数组显然不行,会死循环,而提示里说的 dispatch 我也不确定是不是代码里我们写的 const dispatch = useDispatch(); 这个。

这个波浪线如果不处理,页面无警告无报错;
加上 const dispatch = useDispatch(); 这个dispatch 波浪线没了,页面也是无警告无报错;
感觉这好像是个bug

正在回答 回答被采纳积分+3

1回答

阿莱克斯刘 2023-01-30 16:32:07

不要奇怪,在严格模式下react的确会两次打印数据,请同学在index.tsx文件中把StrictMode去掉就好了。不过,需要注意的是,StrictMode渲染两次的情况仅存在于dev环境中,目的是为了让开发者更好的检查副作用;部署到生产环境以后,StrictMode将只会渲染一次。


React StrictMode 生命周期为什么会执行两次? - 二柒席地而坐 - 博客园 (cnblogs.com)

1 回复 有任何疑惑可以回复我~
  • 提问者 浅芷初夏 #1
    谢谢老师,我俩礼拜把你的这门课肝完了😁。useEfectte 第二个参数经常会被eslint报错,是eslint的问题,忽略就好。
    回复 有任何疑惑可以回复我~ 2023-01-30 17:03:43
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信