Nextjs:getStaticProps中未定义上下文

5sxhfpxr  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(118)

getStaticProps中的上下文未定义。如果我安慰你。记录我得到的上下文:{ locales: undefined, locale: undefined }
我需要URL中的信息。..如果我用getServerSideProps尝试同样的方法,它就可以工作了。我使用apollo和nextjs,就像下面的例子:https://github.com/vercel/next.js/tree/canary/examples/with-apollo

export async function getStaticProps(context) {
    const apolloClient = initializeApollo();

    await apolloClient.query({
        query: PAGE,
        variables: variables,
    });

    console.log(context);
    // { locales: undefined, locale: undefined }
    // !!! need the info from the URL !!!

    return {
        props: {
            initialApolloState: apolloClient.cache.extract(),
        },
        revalidate: 1,
    };
}

Thx任何帮助

tct7dpnv

tct7dpnv1#

这些参数在context对象上不存在,这就是为什么你得到undefined。我假设您将它们作为查询参数传递给url。在这种情况下,您可以从上下文查询参数中获取它们,如下所示:

const { locales } = context.query

在下一个文档https://nextjs.org/docs/api-reference/data-fetching/getInitialProps中阅读有关context对象的参数的更多信息

相关问题