Next.js,ReferenceError:构建期间未定义 sessionStorage

问题描述 投票:0回答:1

我正在使用 Next.js 13 应用程序路由器。我将登录时收到的 JWT 令牌存储在会话存储中。如果该特定路由/文件夹的

page.js
是客户端组件,我就能够访问所有路由中所有
page.js
页面中的令牌。这在开发期间工作得很好,即当我运行
npm run dev
时,但是当我进行构建时,即
next build
它失败并给了我错误
ReferenceError: sessionStorage is not defined
.

在 Next.js 中,每个路由的

page.js
是否有必要是服务器组件而不是客户端。在构建过程中它们是否被视为服务器组件??

javascript reactjs session next.js jwt
1个回答
0
投票

那是因为

sessionStorage
仅适用于浏览器。

不要使用

sessionStorage
,而是尝试使用
window.sessionStorage

© www.soinside.com 2019 - 2024. All rights reserved.