【问题标题】:is it a good idea to store all data from database into the redux store将数据库中的所有数据存储到 redux 存储中是个好主意吗
【发布时间】:2019-05-25 11:34:11
【问题描述】:

我正在构建一个资产管理 Web 应用程序。我在几个教程中看到我们从 API 调用的数据存储在 redux 存储中,以获得更好的 UI 性能。但这是个好主意吗? 我的应用程序处理的数据将包含 1000 条记录。这些数据将进入本地存储。毫无疑问,性能会很高,但在安全方面是正确的做法?

请指导一下,什么时候用什么时候不用?

各位,看了下面的回复后……我总结了以下理解,如果我错了,请纠正我。

  • 适用于大规模动态应用 我们可以谨慎选择 Redux。以下类型的活动可以在 Redux 中进行......

    • UI 布局、仪表板等
    • 当前登录用户、他的个人资料等
    • 关键值列表
    • 数据库中表的关键字段,但不是所有字段,在设定的时间间隔后通过将其标记为旧来清理存储。

我上面的理解正确吗?

【问题讨论】:

  • 页面上是否显示所有数据?您可以进行某种分页并仅使用数据的子集。
  • 为了内存和性能,将整个数据获取并存储到客户端并不是一个好主意。仅获取并显示必要的数据。您可以使用分页或其他方式。
  • @mstfyldz 是的,我同意......但是许多开发人员只是认为 Redux 是最好的方法......所以想问这个问题并得到澄清,我们的回答可能会帮助很多人。

标签: reactjs redux


【解决方案1】:

在客户端存储所有数据

优点

  1. 加载数据后,页面渲染速度会更快

缺点

  1. 随着应用程序的增长,您的数据也会增长,在某一时刻它会变得不可持续
  2. 如果您的数据集很大(很可能),那么获取数据需要很长时间,而且随着数据的增长,您无法在 UI 中处理它
  3. 您可能遇到数据同步问题,因为后端没有拉取数据,您无法确保数据有效

这取决于您要处理的application sizevolume of data。如果您的应用程序只有一个或两个数据源,数据大小小于100 并且有no transactions 您可以使用它,但对于需要处理大量数据集的应用程序则不行。

干杯!

【讨论】:

    【解决方案2】:

    我不认为在 redux 中处理这些记录有什么大问题,我建议你的性能是,不要向你的 API 询问所有记录,而是实现一些可以给你 X 记录的东西,例如对于在每个页面上获取大数据的分页表,用户和 redux 将只有大约 3 页的 25 条记录,如果你发现这个数据量让你放慢了速度,你可以清理旧的,有了这个,你的浏览器的页面不会花费很长时间来加载,因为它不会等待来自服务器的大数据响应,而是会获取少量数据。

    当我说分页时,它可以是一个带有加载的滚动,当它到达末尾时获取数据......

    【讨论】:

      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 2011-12-03
      • 2010-11-10
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      相关资源
      最近更新 更多