【问题标题】:What is the best approach to create reducers and actions in redux?在 redux 中创建 reducer 和 action 的最佳方法是什么?
【发布时间】:2020-07-31 07:03:49
【问题描述】:

我正在创建 redux action 和 reducer 的结构,但在某些点上卡住了。请看下面的例子:

  • 我有一页,我在其中显示类别列表。在同一页面中,我们添加和删除了类别按钮。我创建了一个减速器category,它具有以下状态:

    初始状态 = {isLoading: false, error: '', categories}

并有一些动作,如 categoryFetchStart、categoryFetchSuccess 和 categoryFetchFailure。 我正在调用相应的操作来显示类别数据和错误消息。

现在,正如我上面提到的,我们还有“添加新类别”和“删除类别”按钮。我认为我们不应该在同一个 reducer 中处理这些情况,否则会重新渲染整个类别列表。

那么对于这些​​操作,我需要做单独的reducers和actions吗?因为这些操作的 isLoading 状态不应连接,否则可能会重新呈现类别列表。 请让我知道处理这些情况的最佳方法是什么?

【问题讨论】:

    标签: reactjs react-redux


    【解决方案1】:

    您可以创建不同的操作,但不需要不同的 reducer,因为您可以将列表与该组件所需的状态连接起来。

    【讨论】:

    • 但是添加类别操作的单独加载器呢?假设我有一个带有create category 按钮的模式弹出窗口。当用户点击这个按钮时,我需要在按钮附近显示加载器。
    【解决方案2】:

    你可以看看redux-toolkit,如果你是 redux 新手,这是最好的解决方案。它还在后台运行Immer,这意味着您可以在减速器中编写可变代码,否则可能会变得非常冗长,例如您可能必须编写一个单页减速器才能切换嵌套属性

    【讨论】:

      猜你喜欢
      • 2019-06-20
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 2017-08-06
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2017-07-18
      相关资源
      最近更新 更多