Next.JS getstaticprops 重新验证不工作
Next.JS getstaticprops revalidate not working
在 index.js 中,我使用了 getStaticProps 函数并将其导出。我想每当用户访问我的页面时,我的 api 调用将 运行。但是我想让这个 api 每(例如)60 秒调用一次,而不是每次都对每个用户调用一次。但是,重新验证它不起作用。我把它部署在 vercel 上。但是我的网站只调用了一次 api 而不再调用。
我该如何解决这个问题?
这是我的网站:emirhash.vercel.app
我解决了。这不是关于 next.js,而是关于 apollo 的 InMemoryCache class。我用以下内容更新了我的 apollo-client.js:
import { ApolloClient, InMemoryCache } from "@apollo/client";
const defaultOptions = {
watchQuery: {
// fetchPolicy: "cache-and-network",
fetchPolicy: "no-cache",
errorPolicy: "ignore",
},
query: {
// fetchPolicy: "network-only",
fetchPolicy: "no-cache",
errorPolicy: "all",
},
};
const client = new ApolloClient({
uri: "https://api-eu-central-1.graphcms.com/v2/cl21y31cg4c5u01z4fd5o11z6/master",
cache: new InMemoryCache(),
defaultOptions,
});
export default client;
现在一切如我所料。谢谢大家。
在 index.js 中,我使用了 getStaticProps 函数并将其导出。我想每当用户访问我的页面时,我的 api 调用将 运行。但是我想让这个 api 每(例如)60 秒调用一次,而不是每次都对每个用户调用一次。但是,重新验证它不起作用。我把它部署在 vercel 上。但是我的网站只调用了一次 api 而不再调用。
我该如何解决这个问题?
这是我的网站:emirhash.vercel.app
我解决了。这不是关于 next.js,而是关于 apollo 的 InMemoryCache class。我用以下内容更新了我的 apollo-client.js:
import { ApolloClient, InMemoryCache } from "@apollo/client";
const defaultOptions = {
watchQuery: {
// fetchPolicy: "cache-and-network",
fetchPolicy: "no-cache",
errorPolicy: "ignore",
},
query: {
// fetchPolicy: "network-only",
fetchPolicy: "no-cache",
errorPolicy: "all",
},
};
const client = new ApolloClient({
uri: "https://api-eu-central-1.graphcms.com/v2/cl21y31cg4c5u01z4fd5o11z6/master",
cache: new InMemoryCache(),
defaultOptions,
});
export default client;
现在一切如我所料。谢谢大家。