javascript - reduxjs - 在规范化状态形状中跟踪冗余数据
问题描述
在 redux 中规范化数据很常见,但处理这种情况的最佳方法是什么。
假设这是状态形状:
{
booksList: {
1: { ... },
2: { ... },
3: { ... },
4: { ... },
5: { ... }
}
coolBooks: [5, 2, 1],
hotBooks: [1, 3, 4, 5]
}
现在,应用程序抛出动作从coolBooks Array 中删除id 为5 的书,没问题!但是如果应用程序抛出动作以从coolBooks列表中删除id为2的书?我还需要从书单中删除吗?因为它不再使用了。
如果您认为我不需要从 bookList 中删除数据,请不要关心和缓存不必要的。那么内存泄漏呢?在这个例子中只有 5 本书。但在我的应用程序中,如果我不删除不必要的书籍,它可能是 booksList 中的数千个实体。
如果您认为如果coolBooks/hotBooks 中都不存在图书,我需要从booksList 中删除该实体。最佳做法是什么?在我的应用程序中,它不仅 2 个类别(coolBooks/hotBooks)可以是 100 个。所以对于每个删除操作检查 100 个数组,这本书不存在吗?性能呢?
解决方案
推荐阅读
- node.js - VS Code Run 扩展 - 运行程序没有显示输出
- amazon-cognito - Svelte/汇总错误“缺少全局变量名”
- wso2 - 使用 WSO2 Enterprise Integrator 存储代币的最佳方式
- google-apps-script - 使用 Google 应用脚本将文本替换为超链接
- mysql - 如何从具有相同 ID 的帖子中获得最低价值
- python - pytest 从函数范围夹具访问参数
- java - 我应该只在单元测试中检查实现细节还是使用类公共 API?
- php - Laravel:从主刀片模板中的数据库中提取的下拉选项未显示在其他页面上
- mysql - MYSQL v8 权限
- laravel - Laravel 与模型的关系