gpt4 book ai didi

javascript - Next.js:如何访问localStorage?

转载 作者:行者123 更新时间:2023-12-05 03:46:05 34 4
gpt4 key购买 nike

我目前正在使用 next.js 开发我的第一个成员(member)区。现在我想在 localStorage 中存储一些数据( token 、expiresAr、userInfo)——顺便说一句,稍后这将存储在仅限 http 的 cookie 中。

使用以下代码我得到错误:“LocalStorage is not defined”:

const AuthProvider = ({ children }) => {

const token = localStorage.getItem("token");
const userInfo = localStorage.getItem("userInfo");
const expiresAt = localStorage.getItem("expiresAt");


const [authState, setAuthState] = useState({
token,
expiresAt,
userInfo: userInfo ? JSON.parse(userInfo) : {},
});

const setAuthInfo = ({ token, userInfo, expiresAt }) => {
localStorage.setItem("token", token);
localStorage.setItem("userInfo", JSON.stringify(userInfo));
localStorage.setItem("expiresAt", expiresAt);

setAuthState({
token,
userInfo,
expiresAt,
});
};

我已经尝试使用以下片段:

if (typeof window !== 'undefined') {
const token = localStorage.getItem("token");
const userInfo = localStorage.getItem("userInfo");
const expiresAt = localStorage.getItem("expiresAt");}

但是使用这段代码我得到错误“token is undefined”。所以我尝试在全局范围内定义变量 const token、const userInfo 和 const expiresAt。但随后我收到错误:“JSON 中位置 1 的意外标记 o”。

我有点被这个问题困住了,所以非常感谢您的帮助!谢谢!

最佳答案

这段代码应该可以工作

if (typeof window !== 'undefined') {
const token = localStorage.getItem("token");
const userInfo = localStorage.getItem("userInfo");
const expiresAt = localStorage.getItem("expiresAt");
}

您收到错误 token is undefinedunexpected token 的原因是因为您的 中没有 key token >localStorage 或者您的值设置不正确。

关于javascript - Next.js:如何访问localStorage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65479659/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com