关于useEffect中多次调用接口问题
来源:9-7 【中间件】使用redux-thunk中间价实现异步action

浅芷初夏
2023-01-17
我在此处调用接口
页面上显示了两次打印数据,为什么?按理说 useEffect 的第二个参数传入了空数组,相当于vue中的mounted,应该只打印一次才对鸭。
传入空数组,有个波浪线提示说:useEffect 钩子缺少依赖项 dispatch,要么用数组包含它,要么移除数组;移除数组显然不行,会死循环,而提示里说的 dispatch 我也不确定是不是代码里我们写的 const dispatch = useDispatch(); 这个。
这个波浪线如果不处理,页面无警告无报错;
加上 const dispatch = useDispatch(); 这个dispatch 波浪线没了,页面也是无警告无报错;
感觉这好像是个bug
写回答
1回答
-
阿莱克斯刘
2023-01-30
不要奇怪,在严格模式下react的确会两次打印数据,请同学在index.tsx文件中把StrictMode去掉就好了。不过,需要注意的是,StrictMode渲染两次的情况仅存在于dev环境中,目的是为了让开发者更好的检查副作用;部署到生产环境以后,StrictMode将只会渲染一次。
112023-01-30
相似问题