减速器中的条件

Sam*_*Sam 5 reactjs redux react-redux

在减速器中使用条件是一个坏主意吗?像这样的东西:

case types.SET_SOME_ACTION:
   if(typeof someElement !== "undefined") {
      return Object.assign({}, state, {
          someElement: action.value
       })
    }
Run Code Online (Sandbox Code Playgroud)

试图看看这是否是一种反模式。谢谢。

squ*_*eim 4

我相信将业务逻辑放在动作创建器中已经是普遍共识。这使得减速器只有一个责任:更新状态。

有关更多信息,请参阅此讨论:https ://github.com/reactjs/redux/issues/1165

redux FAQ 还推荐了一个愚蠢的减速器:http://redux.js.org/docs/faq/CodeStructure.html#how-should-i-split-my-logic- Between-reducers-and-action-creators-where -我的业务逻辑应该继续吗

就我个人而言,我只在 Redux Store 中进行简单的验证,实际的业务逻辑由 Redux Observable 或 Redux Thunk 处理。