Javascript react js localstorage值对象
我将从后端获得的内容保存到本地存储:+Javascript react js localstorage值对象,javascript,reactjs,local-storage,Javascript,Reactjs,Local Storage,我将从后端获得的内容保存到本地存储:+ async onSubmit(e){ e.preventDefault(); const {login, password } = this.state; const response = await api.post('/login', { login,password }); const user = response.data.user; const {jwt}
async onSubmit(e){
e.preventDefault();
const {login, password } = this.state;
const response = await api.post('/login', { login,password });
const user = response.data.user;
const {jwt} = response.data;
console.log(user);
localStorage.setItem('token', jwt);
localStorage.setItem('user', user);
this.props.history.push("/home");
}
我的
const user=response.data.user
退回这个:
{id: 2, name: "spt", email: "email", login: "spt", password: "$2a$10$Rqc1VU1TfKD6MypNzbgemeR0O4YeXIFy1XiURjNeHk0gpWJitp4da", …}
两个物体
[对象对象]
localstorage
不支持对象。如果要将用户存储在localstorage
,则需要将其字符串化:JSON.stringify(user)
如果要存储对象,可以使用第三方NPM模块,如(并非所有浏览器都支持)。本地存储是键值存储,其中键是字符串,值也是字符串 你必须对你的数据进行字符串化,你可以做到这一点
localStorage.setItem('user', JSON.stringify(user));
就像
const user = JSON.parse(localStorage.getItem('user'));
你能澄清一下你的问题是什么吗?你好,我照你说的做了,通过套接字与我的后端联系,我发送了constplayer=JSON.parse(localStorage.getItem('user'));this.socket.emit('addPlayer-Queue',player);但是我的后端没有收到这个值,如果我将该值更改为1,例如我的后端gets@Felipesocket也接受字符串,在使用socket发送之前不应该执行JSON.parse。出于某种原因,我没有在后端获取此值。我需要这样做:const player=localStorage.getItem('user')?