我们是否应该在redux中将标记集中到单个reducer中?

时间:2019-01-14 13:51:42

标签: reactjs react-native redux

传统上,对于每个具有API请求的“动作”文件,我们将在每个化简器中实现一组“标准”对象/标志,例如“ isLoading,isFailed,isSuccess”。

我想知道创建一个包含所有“标准”对象/标志的更通用的reducer是否实际上是一个好主意,以某种方式触发任何API请求,“ generic reducer”中的标志将做出反应相应地吗?

我已经对其进行了测试,发现它可以在单个屏幕上正常工作,并且在上面堆叠其他屏幕时也会出现问题。我猜这是因为两个屏幕都引用相同的标志,并且两个屏幕都将一起重新渲染?

1 个答案:

答案 0 :(得分:0)

使用标记的逻辑方法是为每个独立的数据集合或Redux存储中的密钥使用唯一的标记。 通用密钥不包含有关状态的哪一部分已加载或失败的信息,因此它不是一个很好的解决方案。 就我个人而言,我为我的减速器使用了一个自定义包装器,该包装器会自动为每个减速器创建加载,成功和错误标志,而无需我重新实现它们。 我认为不能增加带有单个标志引用的抽象级别。