在阅读 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
reactjs - react 导航 v5 中的 tabBarIcon 问题
kubernetes-helm - 将 yaml 转换为 helm 模板中的属性文件