在没有功能键的情况下组合Reducers

时间:2016-08-25 13:18:04

标签: reactjs redux react-redux reducers

我一直在研究React / Redux应用程序,现在单个功能的减速器已经变得足够大,可以进一步划分减速器。

所以我在想是否有办法将reducer分成两个不同的reducer并将它们组合起来而不添加其功能名称的键。

对于Ex:

const nowShowing = function(state = {}, action){

     switch(action.type){
          case types.NS_MOVIES:
              return Object.assign({}, state, { nowShowingMovies: action.data })

}

const comingSoon = function(state = {}, action){

     switch(action.type){
          case types.CS_MOVIES:
              return Object.assign({}, state, { comingSoonMovies: action.data })

}

我希望检查是否可以组合这些减速器

const movies = combineReducers({
    nowShowing,
    comingSoon
})

以这种方式我可以通过以下方式访问它们

mapStateToProps(state){
    nowShowing: state.movies.nowShowing,
    comingSoon: state.movies.comingSoon
}

我正在寻找这样的解决方案的原因是,它将允许我的整个应用程序像以前一样工作,但是现在显示& comeSoon reducer变得独立,我的代码变得更加模块化。

我确实尝试返回一个对象,而不是使用combineReducers函数组合reducer。但是当重新创建对象时,当值发生变化时,会导致reducer的整个状态重置。

我认为这种解决方案是不可能的,或者不应该尝试。但我想了解更多原因,因为我同意这首先指出了构建减速器的建筑缺陷。

任何帮助都将受到高度赞赏。

由于

0 个答案:

没有答案