在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ dva.js中models的異步數(shù)據(jù)更新后改變UI界面的問(wèn)題

dva.js中models的異步數(shù)據(jù)更新后改變UI界面的問(wèn)題

我在組件中dispatch了一個(gè)effects發(fā)送請(qǐng)求,將異步數(shù)據(jù)保存在state中,然后在組件中的render里通過(guò)this.props.xxx.xxx獲取到數(shù)據(jù)(這里好像會(huì)觸發(fā)好幾次,前幾次都沒(méi)有數(shù)據(jù),渲染還要判斷為空的處理)?,F(xiàn)在有一個(gè)加載更多,點(diǎn)擊后再次觸發(fā)dispatch,這時(shí)候this.props.xxx.xxx的數(shù)據(jù)改變,但是好像不會(huì)出發(fā)頁(yè)面的更新。但是dispatch之后,又不能this.setState到state中,這種情況腫么辦

回答
編輯回答
愛(ài)是癌

state和props都可render.
所以,你就不需要將props轉(zhuǎn)化為state了。
在render中直接使用從dva的state中傳下來(lái)的數(shù)據(jù)就好了。

connect(state => state)(({dvaState}) => <YourComponent dvaState={dvaState}/>)

YourComponent = ({dvaState}) => {
    return (
        <div>
        //   直接取dvaState 中的值就好了。
        </div>
    );
}
2018年1月29日 21:08