Next.js:Access request(ctx.req)in";getInitialProps";“自定义文档中的方法”_文件「;
我创建了一个空白的Next.js应用程序:Next.js:Access request(ctx.req)in";getInitialProps";“自定义文档中的方法”_文件「;,next.js,Next.js,我创建了一个空白的Next.js应用程序: npx create-next-app 我添加了一个自定义文档 据我所知,对于预呈现页面,ctx.req将是未定义的: “如果您有一个带有getInitialProps的自定义文档,请确保在假定页面为服务器端呈现之前检查是否定义了ctx.req。对于预呈现的页面,将不定义ctx.req。” 但另一方面,同一页也说: “Next.js会自动确定页面是静态的(可以预呈现),如果该页面没有阻塞数据要求。这是由于页面中没有getServerSideProps
npx create-next-app
我添加了一个自定义文档
据我所知,对于预呈现页面,ctx.req将是未定义的:
“如果您有一个带有getInitialProps的自定义文档,请确保在假定页面为服务器端呈现之前检查是否定义了ctx.req。对于预呈现的页面,将不定义ctx.req。”
但另一方面,同一页也说:
“Next.js会自动确定页面是静态的(可以预呈现),如果该页面没有阻塞数据要求。这是由于页面中没有getServerSideProps和getInitialProps。”
由此我了解到,如果getInitialProps方法存在,那么页面将被视为不可预渲染,而不是服务器端渲染
我错过了什么?一旦我将getServerSideProps添加到pages/index.js,如何访问“\u document”?中“getInitialProps”方法中的请求
export async function getServerSideProps() {
const data = "myData";
return { props: { data } };
}
Next.js确实在服务器端呈现页面,然后ctx.req在“\u document”中的“getInitialProps”方法中可用
ctx: {
"pathname": "/",
"query": {},
"asPath": "/"
}
export async function getServerSideProps() {
const data = "myData";
return { props: { data } };
}