描述: 比如異步獲取初始化數(shù)據(jù)為1,則設(shè)置state.isShow為true否則為false;render函數(shù)里根據(jù)state.isShow設(shè)置是否渲染元素A,并渲染一個(gè)有click事件的元素B切換state.isShow問題: 比如我在componentWillUpdate里判斷異步獲取的初始化數(shù)據(jù)設(shè)置state.isShow為true,但是這樣我的click切換將會(huì)失效,因?yàn)槊看胃聲r(shí)都會(huì)根據(jù)初始化數(shù)據(jù)1設(shè)置state.isShow為true,我就必須在判斷異步數(shù)據(jù)之前加上if (this.state.isShow != nextState.isShow) return; 雖然這樣可以實(shí)現(xiàn),但是我感覺實(shí)現(xiàn)方式不夠簡(jiǎn)潔,如果有很多個(gè)類似isShow我就要寫好多個(gè)判斷。想知道合理的實(shí)現(xiàn)方式是怎樣?應(yīng)該在哪個(gè)生命周期里判斷異步獲取的數(shù)據(jù)或者在接受到props傳來的異步數(shù)據(jù)后應(yīng)該怎樣做?
react異步獲取的數(shù)據(jù),如何根據(jù)異步數(shù)據(jù)設(shè)置對(duì)應(yīng)的state合理?
溫溫醬
2019-03-08 18:08:30