首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在NextJS中使用Prisma创建后重新获取数据?

如何在NextJS中使用Prisma创建后重新获取数据?
EN

Stack Overflow用户
提问于 2021-09-25 19:36:02
回答 1查看 114关注 0票数 1

我在构建时使用getStaticProps加载数据。

代码语言:javascript
运行
复制
export const getStaticProps: GetStaticProps = async () => {
  const users = await prisma.user.findMany()
  return {
    props: { users }
  }
}

我有一个创建新数据的表单:

代码语言:javascript
运行
复制
const handleSubmit = async ({ name, score }) => {
  const body = { name, email }
  await fetch(`http://localhost:3000/api/users/post`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(body)
  }
}    

提交表单后,我想重新获取用户,以实时显示新的一个,而不需要重新加载页面。

Apollo Client中,有一个名为refetchQueries的函数,它可以很容易地做到这一点,即在发生突变时重新运行graphQL查询。这里有没有一种方法可以做类似的事情,使用不带graphQL的普通NextJs+Prisma?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-25 23:59:59

你要找的是Incremental Static Regeneration (ISR)

代码语言:javascript
运行
复制
export const getStaticProps: GetStaticProps = async () => {
  const users = await prisma.user.findMany()
  return {
    props: { users },
    revalidate: 60,
  }
}

您可以定义每页的revalidation时间(例如60秒)。初始请求将显示缓存的页面,当数据更新时,Next.js将使用更新后的数据触发重建。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69329412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档