首页 > 解决方案 > 在 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,
      }
    }

然后我在标题中设置令牌,以便我可以提交订单。

标签: javascriptcookiesnext.js

解决方案


推荐阅读