redux中的减缩器开始看起来多余了-有没有更好的方法来组合它们?

redux中的减缩器开始看起来多余了-有没有更好的方法来组合它们?,redux,react-redux,Redux,React Redux,使用redux,我有一组操作和一组与每种操作类型一致的还原器 每个动作都映射到被更新状态的不同部分(所有动作创建者主要用于从API获取数据,例如,API映射到状态的某个部分)。我们的减速机目前看起来相当愚蠢(为了举例,简化为A、B、C): 根据我的理解,将它们拆分的目的是让每个reducer处理州名称空间的一部分。由此产生的减缩器很简单,但基本上是一样的。是否有一种推荐的方法来整合每个州的所有减速器 Reducer只是一个函数。您可以使用高阶函数为您制作减速机 const makeSingleA

使用redux,我有一组操作和一组与每种操作类型一致的还原器

每个动作都映射到被更新状态的不同部分(所有动作创建者主要用于从API获取数据,例如,API映射到状态的某个部分)。我们的减速机目前看起来相当愚蠢(为了举例,简化为A、B、C):


根据我的理解,将它们拆分的目的是让每个reducer处理州名称空间的一部分。由此产生的减缩器很简单,但基本上是一样的。是否有一种推荐的方法来整合每个州的所有减速器

Reducer只是一个函数。您可以使用高阶函数为您制作减速机

const makeSingleActionReducer = type => (state, action) => 
  action.type === type ? action.payload : state

export const rootReducer = combineReducers({
  somePartOfStateA: makeSingleActionReducer(FETCH_SOME_B)
  ...
})

您还可以进一步创建一个config
{stateKey:actionType,…}
并在其上循环。

Reducer只是一个函数。您可以使用高阶函数为您制作减速机

const makeSingleActionReducer = type => (state, action) => 
  action.type === type ? action.payload : state

export const rootReducer = combineReducers({
  somePartOfStateA: makeSingleActionReducer(FETCH_SOME_B)
  ...
})
您还可以进一步创建一个config
{stateKey:actionType,…}
并在其上循环