前言:
? ? ? ? 一個項目里,或多或少總會出現(xiàn)一個頁面需要用到另一個頁面的某些狀態(tài)值;雖然redux已經(jīng)接管了狀態(tài)管理這個活;但redux在常規(guī)應用里是無法做到實時狀態(tài)更新的下發(fā)的;也就是說,一個狀態(tài)值在a頁面dispatch了,b頁面是無法及時接收到這個變化的。
????????在react里,頁面間傳參一共有三種方式:
? ? ? ? ? ? 1,常規(guī),路由傳參,但由于對react-router 4.x運用的不是很熟練,所以在實現(xiàn)需求時,沒有做相關嘗試
? ? ? ? ? ? 2,利用connect
? ? ? ? ? ? 3,? ?利用context,但似乎由于react-router 4.x的較大性質的改版,以至于這個上下文在用的時候似乎有點問題
利用connect實現(xiàn)頁面間傳參:
? ? ? ? 先上代碼:

在入口文件里將根組件用provider組件包裹起來

在根組件里利用connect構建數(shù)據(jù)共享通道
? ? 如圖,這樣就利用connect完成了react各個組件之間數(shù)據(jù)共享.
? ? 需要注意的是,connect接收兩個參數(shù):
? ??????mapStateToProps:定義哪些store屬性會被映射到根組件上的屬性(把store傳入react組件)
? ??????mapDispatchToProps:定義哪些行為action可以作為根組件屬性(把數(shù)據(jù)從react組件傳入store