首页 > 解决方案 > reduxjs - 在规范化状态形状中跟踪冗余数据

问题描述

在 redux 中规范化数据很常见,但处理这种情况的最佳方法是什么。

假设这是状态形状:

{
  booksList: {
      1: { ... },
      2: { ... },
      3: { ... },
      4: { ... },
      5: { ... }
    }
  coolBooks:  [5, 2, 1],
  hotBooks: [1, 3, 4, 5]
}

现在,应用程序抛出动作从coolBooks Array 中删除id 为5 的书,没问题!但是如果应用程序抛出动作以从coolBooks列表中删除id为2的书?我还需要从书单中删除吗?因为它不再使用了。

  1. 如果您认为我不需要从 bookList 中删除数据,请不要关心和缓存不必要的。那么内存泄漏呢?在这个例子中只有 5 本书。但在我的应用程序中,如果我不删除不必要的书籍,它可能是 booksList 中的数千个实体。

  2. 如果您认为如果coolBooks/hotBooks 中都不存在图书,我需要从booksList 中删除该实体。最佳做法是什么?在我的应用程序中,它不仅 2 个类别(coolBooks/hotBooks)可以是 100 个。所以对于每个删除操作检查 100 个数组,这本书不存在吗?性能呢?

标签: javascriptreactjsredux

解决方案


推荐阅读