减速机的条件 [英] Conditions in reducers
问题描述
在减速器中使用条件是一个坏的主意吗?像这样:
Is it a bad idea to use conditions in reducers? Something like this:
case types.SET_SOME_ACTION:
if(typeof someElement !== "undefined") {
return Object.assign({}, state, {
someElement: action.value
})
}
试图看看这是否是一种反模式.谢谢.
Trying to see if this is an anti-pattern. Thanks.
推荐答案
我相信将您的业务逻辑置于操作创建器中是普遍共识.这让reducer 只剩下一个责任:更新状态.
I believe it is a general consensus to put your business logic in an action creator. That leaves reducers with only one responsibility: to update the state.
查看更多讨论:https://github.com/reactjs/redux/issues/1165
redux FAQ 还推荐了一个愚蠢的 reducer:http://redux.js.org/docs/faq/CodeStructure.html#how-should-i-拆分我的逻辑之间的减速器和操作创建者应该在哪里我的业务逻辑去
The redux FAQ also recommends a dumb reducer: 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 store 做简单的验证,实际的业务逻辑由 Redux Observable 或 Redux Thunk 处理.
Personally, I only do simple validation in the redux store, the actual business logic is handled by Redux Observable or Redux Thunk.
这篇关于减速机的条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!