我无法读取getStaticPaths
和中的 cookie getStaticProps
,在 SSR 中,我可以通过上下文请求 cookie,但即使使用诸如 之类的包js-cookie, cookie-cutter, cookies
,我也无法读取 cookie 集,这使得无法获取数据。
这是我想要获得的令牌,我httpOnly
为了开发而删除了它。
export async function getStaticPaths(){
const data = await callApi("/jobs", "GET", token)
const paths = data.map(jobs => ({
params: {slug: jobs.slug}
}))
return{
paths,
fallback: true,
}
}
Run Code Online (Sandbox Code Playgroud)
这是 getStaticPaths。
小智 8
和getStaticPaths
都是getStaticProps
在服务器(node.js)上运行的方法,因此浏览器 API cookie 尚不可用
Cookie 既可以在服务器上访问req.cookies
,req.headers.cookie
也可以在客户端上访问document.cookie
。但与getServerSideProps
在运行时生成 HTML 的情况不同,它getStaticProps
是在构建时生成 HTML 的,因此不知道请求设备/浏览器的情况。从请求发送时用户代理的外观可以明显看出getStaticProps
:
'user-agent': 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'
Run Code Online (Sandbox Code Playgroud)
此外,这里还有一个演示应用程序,展示了这一切是如何工作的。
如果您尝试访问 cookie 的原因getStaticProps
是为了身份验证,请查看这篇关于他们构建 zeit.co/vercel 仪表板的方式(完全静态)的文章
同样在这里,使用next-redux-wrapper访问状态getStaticProps
。
归档时间: |
|
查看次数: |
14717 次 |
最近记录: |