我一直在研究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的整个状态重置。
我认为这种解决方案是不可能的,或者不应该尝试。但我想了解更多原因,因为我同意这首先指出了构建减速器的建筑缺陷。
任何帮助都将受到高度赞赏。
由于