从10月8日到10月10日,加入我们在纽约市的会议,了解最新关于 GraphQL 联邦和 API 平台工程的技巧、趋势和新闻。加入我们,参加 2024 年纽约市的 GraphQL峰会
文档
免费开始

在Apollo客户端中提高性能


将数据重定向到缓存

在某些情况下,一个可能会通过一个执行过的不同的查询请求已在中的数据,多亏了

在这些情况下,您可以避免向服务器发送获取相同数据的后续查询。要了解更多信息,请参阅缓存重定向

预取数据

预取涉及在数据需要被呈现之前,执行数据查询。它有助于使应用的UI对用户更加响应。

大部分情况下,预取涉及,一旦可以猜测用户可能需要它。

例如,以下代码片段通过client.query执行一个查询,当用户悬停在特定链接上时(到使用查询返回数据的一页):

GET_DOG 查询完成后,其结果存储在 Apollo 客户端缓存中。这意味着如果用户随后点击链接,狗的详细页面可以立即从缓存中填充那些数据,对用户来说感觉是瞬间的。

除了鼠标悬停外,这里还有一些其他情况建议在预取中有帮助:

  • 在多步流程(例如向导)中,可以在每个 当前 步骤期间预先加载每个 下一步 步骤的数据。
  • 如果您的应用程序分析显示在两个特定视图之间频繁切换,您可以使用预取来优化该路径。
  • 如果有多个选项卡或幻灯片(例如幻灯片放映)的区域在页面上,您可以预载数据的部分或全部以提高切换的流畅性。

一种特殊的预取形式是从服务器存储 hydration,因此您也可以考虑初始化比首次页面加载实际需要更多的数据,以提高其他交互的速度。

请随时提交建议其他预载机会的PR!

上一页
减少包大小
下一页
乐观突变结果
评估文章评价在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,即Apollo GraphQL。

隐私政策

公司