Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在redux中创建减缩器和操作的最佳方法是什么?_Reactjs_React Redux - Fatal编程技术网

Reactjs 在redux中创建减缩器和操作的最佳方法是什么?

Reactjs 在redux中创建减缩器和操作的最佳方法是什么?,reactjs,react-redux,Reactjs,React Redux,我正在创建redux操作和reducer的结构,但在某些方面遇到了问题。请看下面的示例: 我有一个页面,其中显示类别列表。在同一页面中,我们添加和删除了“类别”按钮。我创建了一个reducer类别,其状态如下: 初始状态={isLoading:false,错误:“”,类别} 并执行一些操作,如categoryFetchStart、categoryFetchSuccess和categoryFetchFailure。 我调用相应的操作来显示类别数据和错误消息 现在,正如我上面提到的,我们还有“

我正在创建redux操作和reducer的结构,但在某些方面遇到了问题。请看下面的示例:

  • 我有一个页面,其中显示类别列表。在同一页面中,我们添加和删除了“类别”按钮。我创建了一个reducer
    类别
    ,其状态如下:

    初始状态={isLoading:false,错误:“”,类别}

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

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

因此,对于这些操作,我是否需要制作单独的减速器和动作?由于不应连接这些操作的isLoading状态,否则可能会重新引发类别列表。
请告诉我处理这些情况的最佳方法是什么?

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

如果您不熟悉redux,您可以看看这是最好的解决方案。它还可以在引擎盖下运行,这意味着您可以在减缩器中编写可变代码,否则会变得非常冗长。例如,您可能需要编写一个单页减缩器来切换嵌套属性

,但是添加类别操作的单独加载程序呢?假设我有一个带有
createcategory
按钮的模式弹出窗口。当用户点击这个按钮时,我需要在按钮附近显示加载器。