今天遇到了個(gè)奇怪的bug符相,
小程序搜索模塊拆融,當(dāng)從主tab切換到醫(yī)生tab時(shí),發(fā)現(xiàn)這個(gè)“李海兵”的醫(yī)生卡片居然渲染了兩次主巍,于是開(kāi)始定位冠息,到底是哪個(gè)環(huán)節(jié)出錯(cuò)了,考慮到搜索的數(shù)據(jù)處理邏輯比較復(fù)雜孕索,總以為是用來(lái)維護(hù)搜索store的類逛艰,更新數(shù)據(jù)的方法被調(diào)用了2次。
后來(lái)發(fā)現(xiàn)并沒(méi)有搞旭,還是一個(gè)細(xì)心的同事幫忙找到了原因散怖,
原來(lái)是這個(gè)hooks多次執(zhí)行了菇绵,導(dǎo)致請(qǐng)求列表的接口被調(diào)用了兩次,
解決方法
原因就是useEffect的依賴參數(shù)filter是個(gè)引用類型
還有2種可解決的方法镇眷,參照下方鏈接
總結(jié):排查問(wèn)題的思路有問(wèn)題咬最,重復(fù)渲染首先要排查的就是是否重復(fù)發(fā)起請(qǐng)求。