请稍等 ...
×

采纳答案成功!

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

老师您好,关于useEffect

老师您好,本节中您使用了useEffect,并依赖show,isLoading和cityData
但是我这样就会触发死循环,修改了isLoading和cityData后就会重新出发二次请求,这样继续下去.
而后我什么也没有修改,就正常了,这是咋回事老师?是编译问题吗?
这会不会是不稳定因素呢?
而且我发现react的脚手架有时候热更新会有问题,需要手动刷新,并且会出现一些莫名的问题,但是不需要修改什么,过会儿或者重新打包它就好了,您遇到过这种问题吗?

正在回答

1回答

茵风泳月 2020-06-17 18:00:36

同学你好,并不会死循环,除非fetchCityData并没有获取到有效数据。当前,这个逻辑写得还是毕竟简陋得,并没有特别处理异常。

useEffect(() => {
    if (!show || cityData || isLoading) {
        return;
    }

    fetchCityData();
}, [show, cityData, isLoading]);

祝您学习愉快!

1 回复 有任何疑惑可以回复我~
  • 提问者 袁门弟子 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-17 18:50:30
  • 我也遇到反复请求问题了,感谢老师解答
    回复 有任何疑惑可以回复我~ 2020-06-19 10:48:02
  • 这块获取不到数据的逻辑要怎么优化呀?
    回复 有任何疑惑可以回复我~ 2020-06-19 10:50:12

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信