2017-08-25 85 views
1

是否想法使用还原剂中的条件?类似这样的:还原剂中的条件

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

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

回答

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 Thunk。

+0

我完全同意你的回答。然而,我正在处理一个有趣的场景,到目前为止我唯一提出的解决方案是在reducer中使用一个条件 - 我不想这样做。这是这种情况:https://stackoverflow.com/questions/45874594/handling-one-property-effecting-the-state-of-other – Sam