【问题标题】:React - Does pagination implemented only on client not backend increase performance?React - 仅在客户端而不是后端实现分页会提高性能吗?
【发布时间】:2021-04-29 04:54:54
【问题描述】:

有许多前端库在前端(但不在后端)实现分页。而不是一次渲染整个数据列表,而是拆分它。我不明白这如何提高性能,因为您仍然必须获取整个数据,还是同时获取大型数据集和渲染大型数据集都会降低性能?获取性能下降的不只是渲染吗? 谢谢!

【问题讨论】:

  • 渲染大量组件肯定会影响性能。这就是虚拟列表之类的东西背后的动机:github.com/bvaughn/react-virtualized
  • 你的问题是从一个不正确的前提开始的。分页几乎总是应该首先在后端完成。
  • 我问是因为我想了解是否首先在后端完成分页,如果像我在 y 帖子中所说的那样,只有客户端实现分页有什么好处
  • 正如@sunero4 所说,渲染大量项目会减慢 UI,具体取决于它们的复杂程度。这也是一个 UX 问题,对于用户来说,翻页比通过 5K 行更容易。但后端分页通常更具影响力,因为这涉及数据的获取和准备,以及实际的传输时间。

标签: reactjs pagination large-data


【解决方案1】:

您不必获取整个数据...在大多数情况下,这就是客户端分页的工作方式:

假设您有一个有分页的表格,并且每次表格只显示 10 行

所以第一次获取 10 行的数据。

当您单击“下一步”按钮时 它应该获取接下来 10 行的数据,依此类推...

这样吧:

  • 仅获取 10 条数据。
  • 仅渲染 10 个数据。

【讨论】:

  • 但是如果后端可以的话,我只能获取接下来 10 行的数据。如果后端只是将整个数据返回给我,我不能只在客户端上实现分页并始终获取 10,那么我别无选择,只能获取所有内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-05
  • 2021-04-28
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
相关资源
最近更新 更多