【发布时间】:2021-02-26 06:17:10
【问题描述】:
我无法理解为什么 nextjs 存储库中的 Apollo GraphQL 示例使用 getStaticProps。 NextJS 文档说 getStaticProps 用于在构建时获取数据。
示例在这里:https://github.com/vercel/next.js/tree/canary/examples/with-apollo
在实现中(如下所示),它是在运行时而不是构建时检索数据。
我也不明白revalidate: 1 做了什么,因为它在示例中的任何地方都没有使用,但是当将示例更改为使用 getServerSideProps 时,它不是传入的有效参数。
export async function getStaticProps() {
const apolloClient = initializeApollo()
await apolloClient.query({
query: ALL_POSTS_QUERY,
variables: allPostsQueryVars,
})
return {
props: {
initialApolloState: apolloClient.cache.extract(),
},
revalidate: 1,
}
}
【问题讨论】: