首页 > 解决方案 > 管理数据驱动的 redux 应用程序中未使用的数据

问题描述

想象一个数据驱动的应用程序,比如在 react redux 中实现的酒店管理软件,现在我们有多个页面,比如用户、签到、服务、发票等。

在打开每个页面时,数据是从 API 加载并存储在 redux 存储中的,所以我的问题是在导航到新页面时处理先前获取的数据的常见设计模式是什么,显然在导航到发票时不需要用户作为发票 API提供与每张发票相关的最少用户信息。

根据您的经验,有哪些最佳实践?

标签: reactjsredux

解决方案


根据您的经验,有哪些最佳实践?

通常,我们始终可以遵循这些准则作为规则。一切都会到位。

我们是否应该使用单个数组来保存我们的数据并每次都覆盖它?

如果您有一些不太复杂的数据(例如发票),也需要列出但不经常更新,则使用数组可以正常工作。我们还可以使用选择器或实用程序来选择特定的发票和更新组件。

如果我们有经常更新的数据或有嵌套列表,那么建议将其设为扁平化(标准化)。这是详细阅读

假设发票经常更新?我们可以保留发票地图

{ 
    "invoiceId1" : {},
    "invoiceId2" : {}
}

那么当我们导航到发票时,我们应该在 ComponentWillUnmount 中卸载存储中的用户吗?我们应该将数据保留在存储中吗?

这取决于用例。假设我们有一个(路由)或页面组件都遵守

  • 复杂数据
  • 总独立数据

然后建议清除它,否则它应该是好的。但是在 redux 中,如果我们正在规范化存储,那么它应该不是问题。请仔细阅读这个与 redux-performance 相关的常见问题解答,它将清楚地说明 Redux 中的内存管理。


推荐阅读