taro小程序同一个列表渲染了2份
2021-11-19 本文已影响0人
前端开发_Eric
![](https://img.haomeiwen.com/i706345/862a52374f25538a.png)
今天遇到了个奇怪的bug,
小程序搜索模块,当从主tab切换到医生tab时,发现这个“李海兵”的医生卡片居然渲染了两次,于是开始定位,到底是哪个环节出错了,考虑到搜索的数据处理逻辑比较复杂,总以为是用来维护搜索store的类,更新数据的方法被调用了2次。
后来发现并没有,还是一个细心的同事帮忙找到了原因,
![](https://img.haomeiwen.com/i706345/b07f1955e21335e2.png)
原来是这个hooks多次执行了,导致请求列表的接口被调用了两次,
![](https://img.haomeiwen.com/i706345/89ac0a2ab5b3509a.png)
解决方法
![](https://img.haomeiwen.com/i706345/8175aa6d9a4c3827.png)
原因就是useEffect的依赖参数filter是个引用类型
还有2种可解决的方法,参照下方链接
总结:排查问题的思路有问题,重复渲染首先要排查的就是是否重复发起请求。