减速机的条件

时间:2017-08-25 04:19:49

标签: reactjs redux react-redux

在减速器中使用条件是糟糕的想法吗?像这样:

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

试着看看这是否是反模式。感谢。

1 个答案:

答案 0 :(得分:1)

我认为将您的业务逻辑置于行动创建者中是一种普遍的共识。这使得减速器只承担一项责任:更新状态。

有关详情,请参阅此讨论: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-should-my-business-logic-go

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