1.前言准备
redux
对于初学者应该感觉还是非常难的,今天就试试能不能捋清楚头绪
2. what redux 是什么
Redux
是一个使用叫做“action”
的事件来管理
和更新
应用状态
的模式和工具库 它以集中式Store
(centralized store)的方式对整个应用中使用的状态
进行集中管理
,其规则确保状态只能以可预测的方式更新。
React
是用于构建用户界面的,帮助我们解决渲染DOM
的过程
Reduex
集中管理状态的 容器
Redux
和React
之间没有关系。Redux
支持React
、Angular
、Ember
、jQuery
甚至纯JavaScript
3. redux 应用场景
1.在应用的大量地方,都存在大量的状态
2.应用状态会随着时间的推移而频繁更新
3.更新该状态的逻辑可能很复杂
4.中型和大型代码量的应用,很多人协同开发
4.工作原理
4.1 redux要求我们把数据都放在 store公共存储空间
一个组件改变了 store 里的数据内容,其他组件就能感知到 store的变化,
再来取数据,从而间接的实现了这些数据传递的功能
4.2流程图
redux.png
React Components
是租车的 用户
Action Creactor
租车时候的 沟通过程, 需要租借什么类型的车
Store
是租车公司的管理人员
Reducer
是租车记录比如,去云南,房车,多长时间
state
是汽车的信息
4.3 或者来个有点原始的例子 当铺
React Components
是需要典当东西的 毛毛
Action Creactor
是典当的沟通过程,比如 多少钱,多久可以赎回
Store
是典当的掌柜
Reducer
是 典当行的账本,记录了(当了什么东西,多少钱,在哪放着)
state
是典当物品的信息
4.4梳理下整个流程
首先, 典当东西的用户肯定得存在
其次,点当东西的过程 需要沟通,价格
然后,掌柜的需要查下账本,了解之前的价格
最后,掌柜的把钱给典当的人
4.5 转为代码
1.
React Components
需要获取一些数据,2.然后它就告知
Store
需要获取数据,这就是就是Action Creactor
3.
Store
接收到之后去Reducer
查一下,4.
Reducer
会告诉Store
应该给这个组件什么数据