传统上,对于每个具有API请求的“动作”文件,我们将在每个化简器中实现一组“标准”对象/标志,例如“ isLoading,isFailed,isSuccess”。
我想知道创建一个包含所有“标准”对象/标志的更通用的reducer是否实际上是一个好主意,以某种方式触发任何API请求,“ generic reducer”中的标志将做出反应相应地吗?
我已经对其进行了测试,发现它可以在单个屏幕上正常工作,并且在上面堆叠其他屏幕时也会出现问题。我猜这是因为两个屏幕都引用相同的标志,并且两个屏幕都将一起重新渲染?
答案 0 :(得分:0)
使用标记的逻辑方法是为每个独立的数据集合或Redux存储中的密钥使用唯一的标记。 通用密钥不包含有关状态的哪一部分已加载或失败的信息,因此它不是一个很好的解决方案。 就我个人而言,我为我的减速器使用了一个自定义包装器,该包装器会自动为每个减速器创建加载,成功和错误标志,而无需我重新实现它们。 我认为不能增加带有单个标志引用的抽象级别。