鍍金池/ 問(wèn)答/HTML/ 關(guān)于zuiideal 開(kāi)源項(xiàng)目ant admin每個(gè)routes頁(yè)面consol

關(guān)于zuiideal 開(kāi)源項(xiàng)目ant admin每個(gè)routes頁(yè)面console輸出多次的問(wèn)題

圖片描述

如圖那樣我在容器組件里面接受數(shù)據(jù),namespace為performance但我console這個(gè)performance的時(shí)候,總是會(huì)在控制臺(tái)輸出三次,如下圖:
圖片描述

第一次console輸出的每個(gè)字段為空,第二次console會(huì)返回第一個(gè)dispatch請(qǐng)求的數(shù)據(jù),第三次會(huì)返回兩個(gè)dispatch的數(shù)據(jù),但控制臺(tái)的network只顯示請(qǐng)求了一次,這是為什么?希望知道的解答一下,謝謝!

回答
編輯回答
別逞強(qiáng)

dispatch和network沒(méi)有必然關(guān)系的,我目測(cè)你的console.log是在render里,所以說(shuō)每次這個(gè)組件render(包括掛載和每次更新)都會(huì)console一次。
我大膽的猜測(cè)下你的accountHisData就是這次network返回的數(shù)據(jù),那么除了這字段從無(wú)到有console了一次(或者叫render),掛載時(shí)console了一次(render),其它都是因?yàn)檫@個(gè)組件的其它state或者props更新了,導(dǎo)致了render。
如果你不需要這么多次updata,可以在shouldComponentUpdate周期處理下

2017年2月23日 01:12