redux分模块

Redux的好处不言而喻,但随着应用的代码量和复杂度的与日剧增,redux的管理和维护也变得越来越复杂,需要对Reducer函数进行拆分,拆分后的每一块独立负责管理 state 的一部分。而redux提供了一个combineReducers方法,能很好的解决这个问题。只要引入各个子Reducer函数,这个方法能将各个子涵数合并成大的Reducer

    一.使用combineReducers方法首先需要引入

import {combineReducers} from ‘redux’

二.调用该方法,并传入从其他模块引入进来的子reducer,然后导出

import One from '../one/reducer'
import Two from '../two/reducer'
var reducer = combineReducers({ 
Mone: One,
Mtwo: Two
})
export default reducer;

拆分后可以为每一个模块分配一个Reducer函数,优点是十分有利于管理和维护,让代码更具条理性。
下面是combineReducers的简单实现。

const combineReducers = reducers => {
    return (state = {}, action) => {
      return Object.keys(reducers).reduce(
        (nextState, key) => {
          nextState[key] = reducers[key](state[key], action);
          return nextState;
        },
        {} 
      );
    };
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值