redux 是什么?
简单的理解, redux 是管理react state的工具(本文redux只用于react,不考虑其他框架)
为什么需要 redux ?
react 中的state在简单的应用逻辑上还比较容易处理,但是对于过于复杂的应用,数据向下传递的次数多时就很费脑子了,容易出错,修改也不容易,尤其在react的【状态提升】问题比较大
redux 把state统一管理,你可以想象它把所有的state放在了一起,组成一个全局的普通对象(state),当你需要其中的值时,通过key获取即可,比较特别的是当需要更新值时,你必须通过返回一个新的state以覆盖原来的值。
redux 的三个部分
1. reducer => 创建并更新state
reducer 是个返回state的函数,由它更新state
2. action => 要更新的数据
action 是一个对象,里面存的是要更新的数据,当然你需要指定key去更新哪部分数据
3. store => 数据库,里面放着state,这部分是核心
store 是一个 redux 根据reducer生产的数据库对象,主要用来存放数据
简单理解三者的关系:
1. 通过多个reducer实例化store,并在store里产生初始的state
2. 需要更新state时,调用store的方法传入action即可完成数据更新