reactjs - SWR vs Isomorphic-unfetch 用于数据获取 Next.Js

在阅读 Routing API 中的 Next.Js 教程时,我了解了如何使用这 2 个库获取数据。

Isomorphic-unfetch 中的获取对象在 getInitialProps 异步函数中用于调用外部 API。然后在 Route API 部分,SWR 和 { useRouter } 来自 'next/router;塑造对在同一 Next.Js 服务器中开发的内部 API 的调用,具有很大的灵 active 来查询请求参数。

除了这两个方面,这两种方法之间还有什么区别?

最佳答案

isomorphic-unfetch允许您在客户端 服务器上进行 fetch 调用,这就是它在使用 getInitialProps 的示例中显示的原因。

一般来说,你fetch data在服务器上使用 getInitialProps。这将是阻塞——这意味着在您的数据被获取之前不会返回标记。考虑电子商务网站的产品页面。重要的是我们从服务器而不是客户端返回产品名称、价格和其他信息。

SWR类似,但有点不同。它首先从缓存中返回数据(陈旧),然后发送获取请求(重新验证),最后再次提供最新数据。仪表板页面上有一个真实示例,说明您将在哪里使用 SWR 之类的东西。你不想以阻塞的方式获取 所有 getInitialProps 中的数据,所以你渲染出处于加载状态的仪表板“外壳”,然后使用 SWR 来获取数据客户端。您可以查看此 here 的示例.


来源 - Mastering Next.js 的创建者?

关于reactjs - SWR vs Isomorphic-unfetch 用于数据获取 Next.Js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60085398/

相关文章:

python - 如何计算具有特定扩展名或名称的文件中的文件数?

php - 是否有一个 Wordpress php 函数可以只返回自定义 Logo 图像的 URL(

reactjs - 使用 react-sortable-hoc 拖动时丢失 tr 元素的样式

c++ - 错误 : cannot add a default template argument

r - 提取第n个字符直到R中的字符串结尾

reactjs - react 导航 v5 中的 tabBarIcon 问题

php - 如何从时间戳对象和日期时间对象数组中提取值

kubernetes-helm - 将 yaml 转换为 helm 模板中的属性文件

javascript - Flask Jinja2 模板语法与 AngularJS 冲突(jinja

python - Pyspark - 将多列数据组合成一个跨行分布的列