最近一直被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