首页 > 解决方案 > 如何从 localStorage 键中检索一个信息?

问题描述

是否可以从 localStorage 密钥中检索一个信息?

我有一个密钥,其中包含例如连接后有关用户的各种信息:

{"id":1,"email":"AnEmail@Gmail.com","roles":SimpleUser,"iat":SomeNumber,"exp":SomeNumber}

我的 axios 请求之一是:在 URL 中传递用户 ID,如下所示:

export const getAllOfSomething = (userId) => axios.get(`${URL}/something/${userId}`,
{
    userId: userId,
});

可能是一个愚蠢的问题,但我仍在学习一切

编辑:当连接良好时,我这样存储我的密钥:

const handleSubmit = event => {
        event.preventDefault();
        login(event.target.email.value, event.target.password.value).then(response => {
            const Token = response.data.accessToken;
            localStorage.setItem('UserToken', Token);
            User = jwt_decode(Token)
            localStorage.setItem('User', JSON.stringify(User))
             history.push({
                  pathname: '/',
             });
            window.location.reload(false);

        }).catch(err => {
            setErrorForm(err.response.data.message);
        });
    };

第一个 localStorage.setitem 是只存储 JWT Token。

第二个,我解码这个令牌以检索有关用户的所有信息,这是我在解码后在我的 localStorage 中得到的:

在此处输入图像描述

标签: reactjsaxioslocal-storage

解决方案


是否可以从 localStorage 密钥中检索一个信息?答案是肯定的,您可以检索正在存储的内容。

这是存储对象的示例:

localStorage.setItem(key, JSON.stringify(object));

这就是如何检索它:

JSON.parse(localStorage.getItem(key));

这也是一个功能示例:

public static store(object: any, key: string) {
if (object === null || object === undefined) {
  return -1;
} if (key === null || key === undefined) {
  return -2;
}else {
  localStorage.setItem(key, JSON.stringify(object));
  return 1;
}

public static retrieve(key:string){
if (key === null || key === undefined) {
  return null;
}
return JSON.parse(localStorage.getItem(key));

}


推荐阅读