鍍金池/ 問答/HTML/ react 組件接受異步的數(shù)據(jù)渲染的問題

react 組件接受異步的數(shù)據(jù)渲染的問題

一個(gè)組件 接受多個(gè)props,這些prop都是異步的數(shù)據(jù)(http響應(yīng)的數(shù)據(jù)),組件在 component-Did-Mount 這個(gè)生命周期時(shí),有些異步的數(shù)據(jù)已經(jīng)得到響應(yīng)了,有些還沒有;每個(gè) prop 在渲染到 頁面層面時(shí) 還需要經(jīng)過一些特別的處理;
現(xiàn)在的問題是 這些 對(duì)props的處理 不知道放哪里好?

1.如果放在 render,只要有任意的更新(newProps 或者 newState),所有對(duì)prop 的處理都會(huì)來一次,有些沒必要。
2.放在 willReceiveProps 有些prop可能在didMount之前就已經(jīng)響應(yīng),然后就會(huì)錯(cuò)過首次的渲染處理。
3.在 willReceiveProps 和 component-Did-Mount 都處理,這樣寫了很多重復(fù)的操作(雖說可以抽出重復(fù)的操作...),但是感覺不太好。

請(qǐng)問有更好的處理方式嗎?謝謝各位大佬。
我用的是 狀態(tài)管理是 redux ;聽說 mobx 可以針對(duì)某個(gè)變量的變化添加鉤子函數(shù),我想要的效果就是類似這種的。。但是我不是 mobx。。。請(qǐng)問有大佬幫忙解決一下嗎?

回答
編輯回答
兔寶寶

用方法3,同時(shí)把操作抽成函數(shù),cwr和cdm都調(diào)用一次

2017年11月10日 15:26