如何在 reactjs 中更新本地存储的特定元素

How to update particular element of local storage in reactjs

我目前正在 'userInfo'

的本地存储中存储 accessToken 和用户信息

令牌将存储在 userInfo.token 中,userIno 将存储在 userInfo.info

我想更新 userInfo 里面的令牌,也想保持 userInfo.info 不变,有什么办法吗?

目前我正在使用这个代码:

localstorage.setItem('userInfo', data.token)

但它正在删除 userInfo.info

用户信息结构:

{"token": eykjdbvksbkvsbks89all, "userinfo": {"email": veera@gmai.com} }

您需要更新 localStorage 中的整个 user 对象。

示例:

const user = {"token": "adkadjhk2h3hkhkhkh", "userinfo": {"email": ":veera@gmai.com" } };

localStorage.setItem('userInfo', JSON.stringify(user))

const userInfo = JSON.parse(localStorage.getItem('userInfo'));

const newUpdatedUserInfo = {
  ...userInfo,
  "token": "new-token-adkadjhk2h3hkhkhkh"
};

localStorage.setItem('userInfo', JSON.stringify(newUpdatedUserInfo))

试试这个代码示例:

 localStorage.setItem('userInfo',JSON.stringify({name:'reza',age:20}));
    const data = window.localStorage.getItem('userInfo')
    const newData = JSON.parse(data)
    localStorage.setItem('userInfo',JSON.stringify({...newData,age:44}))
const userInfo = window.localStorage.getItem('userInfo')
const parsedUserInfo = JSON.parse(userInfo)
localStorage.setItem('userInfo', JSON.stringify({...parsedUserInfo,token: data.token }))

您可以试试这个片段。