今天遇到了个奇怪的bug,
小程序搜索模块,当从主tab切换到医生tab时,发现这个“李海兵”的医生卡片居然渲染了两次,于是开始定位,到底是哪个环节出错了,考虑到搜索的数据处理逻辑比较复杂,总以为是用来维护搜索store的类,更新数据的方法被调用了2次。
后来发现并没有,还是一个细心的同事帮忙找到了原因,
原来是这个hooks多次执行了,导致请求列表的接口被调用了两次,
解决方法
原因就是useEffect的依赖参数filter是个引用类型
还有2种可解决的方法,参照下方链接
总结:排查问题的思路有问题,重复渲染首先要排查的就是是否重复发起请求。
参考:https://blog.csdn.net/qq_39776508/article/details/118485896?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link