【Redux】数据生命周期

  1. store = createStore(todoApp,[initialState])

    初始化一个store

  2. 调用store.dispatch(action)

    action是发生了什么的普通对象,比如:

    { type: 'LIKE_ARTICLE', articleId: 42 };
    { type: 'FETCH_USER_SUCCESS', response: { id: 3, name: 'Mary' } };
    { type: 'ADD_TODO', text: 'Read the Redux docs.'};
  3. Redux store 调用传入的reducer函数

    createStore时传入的todoApp是store调用的reducer函数

    用Redux原生的combineReducer()函数,可以把多个reducer合并后传入store

    function todos(state = [], action) {
       // 省略处理逻辑...
       return nextState;
     }
    
     function visibleTodoFilter(state = 'SHOW_ALL', action) {
       // 省略处理逻辑...
       return nextState;
     }
    
     let todoApp = combineReducers({
       todos,
       visibleTodoFilter
     })

    当action触发后,combineReducer返回的todoApp会调用两个reducer,把结果合并成一个state树

  4. Redux store 保存了combineReducer合并的todoApp所返回的完整state

    这个state就是最新的state,所有订阅store.subscribe(listener)的监听器都会被调用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值