严格的单向数据流是 Redux 架构的设计核心!!!这意味着应用中
所有的数据都遵循着相同的生命周期,这样可以让应用变得更加可预测和容易理解,同时也鼓励做数据范式化,这样可以避免使用多个独立的无法相互引用的重复数据!!!1
Redux 应用中数据的生命周期遵循下面四个步骤:
-
调用
store.dispatch(action),触发某件事情- 可以在任何地方调用 `store.dispatch()` ,包括组件、XHR回调、定时器中.... -
Redux store 调用传入的 reducer 函数
- Store 会把两个参数传入 reducer 函数中 :当前的 state 树和已经被派发的 action
-
根 reducer 应该把调用多个子 reducer 生成的结果合并成一个新的 state 树
-
Redux Store 会保存这个新的 state 树
-
所有订阅
store.dispatch(listener)的监听器都将会被调用