Redux - 在 reducer 中使用 action 对象方法而不是 switch

标签 redux reducers

我是 redux 的新手,看过 redux-actions 或在 reducer 中使用 switch 语句,虽然我不反对使用 switch 语句,但我想知道,使用调用不是更容易吗 Action 方法?

这是我的想法

import actions from './actions'

const reducer = (state = {}, action) => {
   if (actions[action.type]) return Object.assign({},
       state, actions[action.type](action)
   );
   return state;
}

我刚刚在我的第一个 reducer 和 action 上测试了它,它可以工作,但它看起来很明显所以我想知道为什么选择开关类型?

最佳答案

Switch 语句当然是最常见的方法,但查找表也很常见。如果需要,您甚至可以使用简单的 if/then 条件。最终,如何编写 reducer 取决于您。

仅供引用,此主题包含在 Redux FAQ 中, 在 FAQ: Reducers部分。您可能还想阅读新的 "Structuring Reducers"还有操作方法部分。

关于Redux - 在 reducer 中使用 action 对象方法而不是 switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40033443/

相关文章:

javascript - reducer 中 CRUD 的 "U"(更新)部分出现问题

reactjs - 在 Redux reducer 中转换数据

hadoop - 卡在 Reduce Join 代码中

javascript - 如何将 Action 创建者绑定(bind)到 redux thunk 中的组件

javascript - 更新动态创建的组件

reactjs - 在 ComponentDidMount 中使用 API 调用来更新 Redux 存储使我的组件渲染两次

reactjs - 如何使用 redux-subspace 重用具有相同操作的 reducer

javascript - React-Redux mapStateToProps 与传递父 Prop

javascript - 难以遍历数组对象并从 Redux Store 中生成 JSX 中的动态 React 元素

reactjs - React-redux reducer 中的 Spread 运算符返回错误 "unexpected token"