跨多个页面重复使用预取数据

Re-use prefetched data across multiple pages

我有一个包含两个页面的 next.js 应用程序:

  1. 所有博文页面
  2. 个人博文页面模板

问题是它们都是独立的页面,需要完全相同的数据。我正在使用 getStaticProps 获取博客文章,但我不得不两次提出完全相同的请求。

我是否可以只提出其中一个请求,然后在我网站的其他地方使用该预取数据?

因此,经过更多研究后发现目前还没有解决方案,但很多人都在寻求解决方案。现在它建议您只调用 api 两次 - 您可能无论如何都会预取数据,所以这没什么大不了的。

现在有一个名为 SWR 的库,可以在多次调用 API 时自动缓存数据。听起来是您的完美用例。

const fetcher = (...args) => fetch(...args).then(res => res.json())
const { data, error } = useSWR('/api/blogs', fetcher)

https://swr.vercel.app/#overview