【问题标题】:Next.JS getstaticprops revalidate not workingNext.JS getstaticprops 重新验证不起作用
【发布时间】:2023-01-04 22:02:29
【问题描述】:

在 index.js 中,我使用了 getStaticProps 函数并将其导出。我想每当用户访问我的页面时,我的 api 调用就会运行。但是我想每(例如)60 秒调用一次这个 api,而不是每次都为每个用户调用一次。但是,重新验证它不起作用。我把它部署在 vercel 上。但是我的网站只进行一次 api 调用而不是再次调用。

我该如何解决这个问题?

这是我的网站:emirhash.vercel.app

【问题讨论】:

  • 您使用的是哪个 Next.js 版本?重新验证仅在 Next.js 9.5 之后可用
  • 我的下一个版本是 12.1.5
  • 你用过getStaticPaths吗?
  • 不,我没有,我为什么要使用它? getStaticProps 还不够吗?我应该如何实施它是否有任何文档可以实现我的目标?
  • 我的页面在很长一段时间后更新,现在我无法正确查看我当前的数据库数据。 next.js 是每 1 小时调用一次我的 api 吗?

标签: javascript node.js reactjs graphql next.js


【解决方案1】:

重新验证工作正常,但你的 ApolloClient 正在缓存 graphql 请求,所以这就是为什么 getStaticProps 每次都返回相同的结果。

要解决此问题,请将该查询的 fetchPolicy 设置为 "network-only"

const { data } = await client.query({
  query: yourQuery,
  fetchPolicy: "network-only"
});

【讨论】:

    猜你喜欢
    • 2021-12-30
    • 2023-01-28
    • 2021-02-25
    • 2021-03-17
    • 1970-01-01
    • 2021-05-15
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多