Redux 应用中数据的生命周期遵循下面 4 个步骤:
1.调用store.dispatch(action):
你可以在任何地方调用store.dispatch(action),包括组件中、XHR 回调中、甚至定时器中。
2.Redux store调用传入的reducer函数:
Store 会把两个参数传入 reducer,当前的 state 树和 action
3.reducer应该把多个子reducer输出合并成一个单一的state树:
Redux 原生提供combineReducers()辅助函数,来把根 reducer 拆分成多个函数,用于分别处理 state 树的一个分支。
function todos(state = [], action) { // 省略处理逻辑... return nextState; } function visibleTodoFilter(state = ‘SHOW_ALL‘, action) { // 省略处理逻辑... return nextState; } let todoApp = combineReducers({ todos, visibleTodoFilter });
4,Redux store 保存了根 reducer 返回的完整 state 树:
这个新的树就是应用的下一个 state!所有订阅store.subscribe(listener)的监听器都将被调用;监听器里可以调用store.getState()获得当前 state。
时间: 2024-11-02 23:23:31