我将从后端获得的内容保存到本地存储中:+
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", …}
两个对象 [对象对象]
答案 0 :(得分:3)
localstorage
不支持对象。如果要将用户存储在localstorage
中,则需要对其进行字符串化:JSON.stringify(user)
如果要存储对象,可以使用第三方localforage之类的NPM模块(并非所有浏览器都支持)。
答案 1 :(得分:2)
本地存储是键-值存储,其中key是字符串,value也是string。
您必须对数据进行加密,您可以这样做
localStorage.setItem('user', JSON.stringify(user));
像这样
const user = JSON.parse(localStorage.getItem('user'));