我有一个 next.js 应用程序,其中有一些需要授权的功能。使用 CRA 时,我只是将令牌存储在 config.js 文件中,然后在需要的地方导入、使用和更新令牌。这是我的配置文件的代码:
export const config = {
"token" : window.localStorage.getItem('token')
};
但是,在 next.js 中我们不能使用“window”,因为它在 ssr 中未定义。除了使用 React context 或 redux 之外,还有更简单的方法来做到这一点吗?
我建议您将
token
存储在cookie
中,这样您就可以在服务器端使用context.req.headers.cookie
来获取token
。
如果你使用approuter,你最常使用服务器组件中的next/headers,如果你使用页面context.req.headers.cookie,无论如何你最常使用coockie作为ssr api