【问题标题】:How to retreive one information from a localStorage key?如何从 localStorage 键中检索一个信息?
【发布时间】:2021-08-04 23:15:48
【问题描述】:

是否可以从 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 中得到的:

【问题讨论】:

    标签: reactjs axios local-storage


    【解决方案1】:

    是否可以从 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));
    

    }

    【讨论】:

    • 感谢您的回复和功能示例,但我可能应该编辑我的问题。我的问题更多,您能否仅获取用户 ID,而不是密钥中的所有信息。因为,如果我在 URL 中使用 localStorage.getItem(MyKey),它将不起作用。
    • 是的,你可以这样做,你可能想使用 localstorage.getItem(MyKey).id
    • 我认为不可能这样做,当我尝试时,我只会得到“未定义”
    • 你能把你存放对象时的部分分享给我吗?
    • 试试这个 JSON.parse(localStorage.getItem('User')).id
    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 2013-05-13
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多