redux核心概念
- components View react页面
- Action 如果需要修改store的数据必须派发一个动作,它的参数接收一个对象,对象里面必须要有一个type属性,表示动作的类型,第二个属性是你传入的值
- Reducer 它必须是一个纯函数,来处理store数据的变化,它接收两个参数 一个是state 上一次的数据, 一个是action . 特别注意的是 不能在这里面修改 state数据或者action数据
- Store 仓库 存放state数据 它是链接action与reducer的桥梁 它的实例对象上有些方法,需要去记住它.
-
getState() 获取当前仓库的 state 数据
-
dispacth(action) 派发一个动作
-
subscribe(cb) 监听仓库数据的变化,如果仓库数据有变化,这个回调函数就会执行
-
unsubscribe(cb) 取消监听 当仓库的数据发生改变的时候 subscribe里面的回调函数会触发,重新返回一个函数 这个函数需要在 componentswillunmount() {}这个生命周期钩子函数里面执行,执行之后就当组件销毁的时候,componentswillunmount()生命周期钩子函数会执行里面的 回调函数也会执行就取消订阅了.
- ActionTypes
动作类型常量
- 如果动作类型是一个字符串的话.出现bug 会非常恶心.
- 作用只是解决字符串写错之后,调试bug 非常困难的问题
- ActionsCreates
- 动作生成器
- 就是一个函数这个函数调用之后,返回一个动作的对象
7.安装 redux
npm install – save redux || yarn add redux
拆分主reducer, 每个模块的状态都在reducer里面,将每个模块的状态拆分出去,在主的reducer文件中进行引用, 这时就要使用 redux里面的combineReducers方法,这个方法
在 主reducer.js文件中 调用redux的combineReducers方法,返回一个reducer纯函数 并且把它暴露出去
8. redux的中间件
中间件主要的作用就是帮助我们