react connect的應(yīng)用

前言:

? ? ? ? 一個(gè)項(xiàng)目里,或多或少總會(huì)出現(xiàn)一個(gè)頁(yè)面需要用到另一個(gè)頁(yè)面的某些狀態(tài)值;雖然redux已經(jīng)接管了狀態(tài)管理這個(gè)活;但redux在常規(guī)應(yīng)用里是無法做到實(shí)時(shí)狀態(tài)更新的下發(fā)的;也就是說,一個(gè)狀態(tài)值在a頁(yè)面dispatch了,b頁(yè)面是無法及時(shí)接收到這個(gè)變化的。

????????在react里,頁(yè)面間傳參一共有三種方式:

? ? ? ? ? ? 1,常規(guī),路由傳參,但由于對(duì)react-router 4.x運(yùn)用的不是很熟練,所以在實(shí)現(xiàn)需求時(shí),沒有做相關(guān)嘗試

? ? ? ? ? ? 2,利用connect

? ? ? ? ? ? 3,? ?利用context,但似乎由于react-router 4.x的較大性質(zhì)的改版,以至于這個(gè)上下文在用的時(shí)候似乎有點(diǎn)問題

利用connect實(shí)現(xiàn)頁(yè)面間傳參:

? ? ? ? 先上代碼:


在入口文件里將根組件用provider組件包裹起來
在根組件里利用connect構(gòu)建數(shù)據(jù)共享通道

? ? 如圖,這樣就利用connect完成了react各個(gè)組件之間數(shù)據(jù)共享.

? ? 需要注意的是,connect接收兩個(gè)參數(shù):

? ??????mapStateToProps:定義哪些store屬性會(huì)被映射到根組件上的屬性(把store傳入react組件)

? ??????mapDispatchToProps:定義哪些行為action可以作為根組件屬性(把數(shù)據(jù)從react組件傳入store

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容