reactjs 在重新部署nextjs 13和健全性之前,内容不会更新

p4tfgftt  于 2023-02-08  发布在  React
关注(0)|答案(1)|浏览(183)

你好,我正在使用Nextjs 13服务器组件,使用/app目录和sanity studio。我的代码看起来像这样

const Page = async () => {
  const query = groq`*[_type == "university"]`;

  const data = await sanityClient.fetch(query);
}

每次我在vercel上重新部署我的站点时,我的内容在前端加载最新更新的数据.但是如果我在sanity studio上更改了一些东西并刷新了我的页面,我只能看到旧的更改.任何帮助在这里吗?谢谢你

lsmepo6l

lsmepo6l1#

在nextjs 13的app目录中,你可以像这样声明一个revalidate变量:

// page.tsx

export const Page = async () => {
  const query = groq`*[_type == "university"]`;

  const data = await sanityClient.fetch(query);
}

export const revalidate = 60; // revalidate this page every 60 seconds

这将导致页面在60秒后失效。如果您尝试在60秒后打开页面,则页面缓存将被清除并更新。
如果你根本不想让你的页面是静态的,在你的page.tsx;的第一行插入一个'use client'

// page.tsx
'use client';

export const Page = async () => {
  const query = groq`*[_type == "university"]`;

  const data = await sanityClient.fetch(query);
}

相关问题