javascript - 在 nextjs 中刷新页面之前,不会加载 getInitialProps
问题描述
我正在使用 getInitialProps 在页面加载时获取服务器端 cookie。第一个用户登录并设置 cookie,然后我使用 router.push() 将用户发送到结帐页面。当结帐页面加载时,它没有获得初始道具,但如果我手动刷新页面,它就会起作用。
这是我的 getInitialProps 的样子:
Cart.getInitialProps = async ({ req, res }) => {
const token = parseCookies(req)
if (res) {
if (Object.keys(token).length === 0 && token.constructor === Object) {
res.writeHead(301, { Location: "/" })
res.end()
}
}
return {
token: token && token,
}
}
然后我在标题中设置令牌,以便我可以提交订单。
解决方案
推荐阅读
- spring-boot - 如何从 freemarker 模板访问 application.properties
- c - 分段错误:在 C 中实现优先级队列
- python - 当我尝试使用“GET”方法从 Binance 获取历史蜡烛时,使用 Binance 的加密交易机器人,回调 > 绑定方法出错
- asp.net-core - 将 gRPC proto 文件定义包含到单个 proto buf 文件中时,为什么会出现 C# 编译器错误?
- graphql - 如何在 graphQL 查询的上下文之外使用 Graphene-Django 序列化 Django 模型
- xcode - React Native 构建在 run-ios 上失败
- ansible - Ansible / jmespath - 字典压缩列表的一维列表
- amazon-web-services - 创建密钥对并使用 Terraform (AWS) 下载 .pem 文件
- javascript - 导航栏不适用于 Intersection Observer API
- python - 将两个列表 l1 x l2 组合成元组