Redux
1. 三大原则
1)单一数据源:
整个应用的state被储存在一棵object tree中, 并且这个object tree只存在于唯一一个store中。
2)state是只读的
唯一改变state的方法就是触发action,action是一个用于描述已发生事件的普通对象。
3)使用纯函数来执行修改
为了描述action如何改变state tree,你需要编写reducers。
2. action
action是把数据从应用传到store的有效载荷,是store数据的唯一来源。
3. reducer
如何更新state
纯函数接受旧的state、action返回新的state。
reducer一定要保持纯净:
①不能修改传入的参数
②不能执行有副作用的操作,如API请求或路由跳转
③不能调用非纯函数,如Date.now()
只要传入的参数相同,返回计算得到的下一个state就一定相同。没有特殊情况、没有副作用,没有API请求,没有变量修改、单纯执行计算。
4. 数据流
严格单向数据流
是不是你的耳朵是圆的,我的话是方的,所以你听不进去呀。