qq_遁去的一_1
2019-03-11 13:15:31
看標(biāo)題估計(jì)你們沒(méi)看懂,哈哈哈哈,我也沒(méi)看懂?我仔細(xì)描述一遍吧是這樣的,打算在 redux 中存儲(chǔ)一個(gè)數(shù)據(jù), 這個(gè)數(shù)據(jù)呢,是在 應(yīng)用的某個(gè)子組件會(huì)用到,默認(rèn)值需要從服務(wù)端api加載,關(guān)鍵是這個(gè)子組件默認(rèn)是隱藏的。那么。我的理解是:應(yīng)用加載是并不需要加載此數(shù)據(jù),等到這個(gè)子組件顯示時(shí),異步加載出來(lái)數(shù)據(jù)。那么,問(wèn)題來(lái)了,加載好后,這個(gè)子組件又卸載了,然后再次掛載顯示出來(lái),按理來(lái)說(shuō),就不需要再次異步加載數(shù)據(jù)了,可我怎么知道,這不是首次加載了?根據(jù)state有數(shù)據(jù)來(lái)判斷嗎,不能呀,違反了ui=f(data) 原理。
2 回答

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
1.首先,加載數(shù)據(jù)可以在didmounted生命周期鉤子函數(shù)里處理
2.并不是卸載了再次掛載的時(shí)候如果有數(shù)據(jù)了就不需要重新從后端api請(qǐng)求數(shù)據(jù),再次請(qǐng)求是必須的,因?yàn)樵谀憬M件卸載的過(guò)程中,或者是在你上次加載之后數(shù)據(jù)可能已經(jīng)發(fā)生了變化,所以需要組件每次掛載都重新加載最新數(shù)據(jù)
3.即使你做了一層判斷,也沒(méi)有違背ui=f(data)
的原理,你可以理解為這里的data是映射到ui所需要的data,而這些data可能直接來(lái)源于state,也可能是經(jīng)過(guò)了一層處理

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消