前言:
? ? ? ? 一個(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