最近一直被redux和react的鏈接給困擾,如今終於感受本身在混亂中摸到了一點點混頭,說一下本身的心得體會和理解react
咱們知道經過react的state狀態的改變能夠及時渲染咱們views顯示頁面,redux的引入,又來一個全然的陌生的state,因而乎,兜兜轉轉,轉轉兜兜,一直原地盤旋。redux
理一理思路:函數
一、什麼是redux?spa
個人理解很簡單:他經過store統一管理建立了一個全局的state,這個state能夠被任何的地方的views層所獲取所進行變更,讓咱們避開組件之間state(react中的state)相互傳遞的困擾。既然有了store來統一全部的state,總要有大動做去更新這個state吧。action就是用來講明如何更新,那reducer又是用來幹嗎的呢?你action說明了如何更新,須要一輛小汽車運載到store中去執行更新啊!因此reducer就是這輛小汽車載着action來到store身旁完成state的更新io
二、redux的stade更新了,我react怎麼得知並完成渲染呢?百度
主角來了,connect,他就是鏈接redux和react的紐帶,既然是紐帶,那確定有redux的state向react輸出(通俗點就是react獲取redux中的state),也有react向redux的輸入嘛(通俗一點就是react中用戶執行了某項操做,讓redux的state相應進行更新),這個時候mapStateToProps()和mapDispatchToProps()閃亮登場渲染
mapStateToProps():我理解得比較直白,react用來獲取redux的state的函數。map
mapDispatchToProps():我理解得也比較直白,用戶執行了某項操做,react告訴redux如何更新state的函數view
這樣一個體系下,就能實現一直困擾咱們的問題,至於具體怎麼用,自行百度,能增長你們的印象,這裏僅提供一個理解的思路vi