如何为Redux中的一组组合还原器制定规则



我有两个看起来像这样的标准还原器

reducer1

const reducer1 = (state, action) => {
  switch(action.type) {
    case('clear'):
      return {
        ...state,
        reducer1property1: null
      }
    ...<other cases>...
  }
}

reducer2

const reducer2 = (state, action) => {
  switch(action.type) {
    case('clear'):
      return {
        ...state,
        reducer2property1: null
      }
    ...<other cases>...
  }
}

因此,如果我派遣了"清除"类型的操作,则属性1将在两个还原器中清除。

我将重还原组合在一起:

const combinedReducer = combineReducers({
  Reducer1,
  Reducer2
})

我的问题是:有没有办法在不单独编写"清晰"情况的情况下进行此操作?例如,是否有一种方法可以将"清晰"案例添加到combinedReducer上,以便我只能写一次?在我的实际应用中,还有更多的还原器,所以我希望简化。

谢谢!

这是"高级还原器"的概念。如果功能是常见的,请写一次,然后使用该简化器来"包装"任何需要的其他需要的还原器行为。在您的情况下,类似:

const rootReducer = combineReducers({
    reducer1 : closeable(reducer1),
    reducer2 : closeable(reducer2),
});

请参阅" REDUX DOCS"页面"重复使用还原逻辑",此幻灯片上的高级还原器功能,以及有关Redux还原器和选择器上的其他一些文章,以获取更多详细信息。

no。合并还原器仅接收还原器。

,由于每个还原器都负责国家的不同切片,如果您希望"明确"诉讼适用于所有还原器,则必须在所有还原中进行处理。

相关内容

  • 没有找到相关文章

最新更新