Javascript 反应返回未定义的localStorage对象属性
我只是在玩React,通过Javascript 反应返回未定义的localStorage对象属性,javascript,reactjs,Javascript,Reactjs,我只是在玩React,通过localStorage进行用户身份验证。下面给出了代码片段 export const loginUser = userData => dispatch => { axios.get("http://localhost:5000/users") .then((res)=>{ res.data.map(user => { if(user.email
localStorage
进行用户身份验证。下面给出了代码片段
export const loginUser = userData => dispatch => {
axios.get("http://localhost:5000/users")
.then((res)=>{
res.data.map(user => {
if(user.email === userData.email){
if(user.password === userData.password){
const loggedIn = user;
console.log(loggedIn)
localStorage.setItem("loggedIn", loggedIn);
console.log(localStorage.loggedIn.name)
dispatch(setCurrentUser(user));
}
}
})
})
.catch((err)=>dispatch({
type: GET_ERRORS,
payload: err.data
}))
}
现在看看console.log
输出
我无法访问用户信息,因为它给了我
未定义的为什么会发生这种情况?如何解决此问题?您从localstorage获取用户名的语法错误
JSON.parse(localstorage.getItem('loggedIn')).name
localstorage.getItem('loggedIn')
将从localstorage提供一个用户对象,但该对象是字符串形式的
因此,您需要将其转换为一个对象,对于该对象,JSON.parse
将非常有用
这将为您提供用户名您从localstorage获取用户名的语法错误
JSON.parse(localstorage.getItem('loggedIn')).name
localstorage.getItem('loggedIn')
将从localstorage提供一个用户对象,但该对象是字符串形式的
因此,您需要将其转换为一个对象,对于该对象,JSON.parse
将非常有用
这将为您提供用户名将项目设置为
localStorage.setItem("loggedIn", JSON.stringify(loggedIn));
然后必须以这种方式传递,这样它将访问name
键在localStorage
中的值
console.log(localStorage.getItem('loggedIn').name);
将项目设置为
localStorage.setItem("loggedIn", JSON.stringify(loggedIn));
然后必须以这种方式传递,这样它将访问name
键在localStorage
中的值
console.log(localStorage.getItem('loggedIn').name);
存储接口的方法在传递键名时,将返回给定存储对象中该键的值,如果该键不存在,则返回null。您需要使用localStorage.getItem(“loggedIn”)
所以我必须传递localStore.getItem('name')?
是的,它将允许您访问存储在localStorage中的值。尝试过它,但它返回null
您必须解析它。使用JSON.parse()
从字符串转换对象。但是您必须将其转换为字符串,同时将其存储在localStorage中,如localStorage.setItem(“loggedIn”,JSON.stringify(loggedIn))
存储接口的方法在传递键名时,将返回该键的值,如果该键在给定存储对象中不存在,则返回null。您需要使用localStorage.getItem(“loggedIn”)
所以我必须传递localStore.getItem('name')?
是的,它将允许您访问存储在localStorage中的值。尝试过它,但它返回null
您必须解析它。使用JSON.parse()
从字符串转换对象。但是您必须将其转换为字符串,同时将其存储在localStorage中,如localStorage.setItem(“loggedIn”,JSON.stringify(loggedIn))
它返回undefined
尝试如上设置localStorage.setItem(“loggedIn”,JSON.stringify(loggedIn))按此方式编码>并尝试获取。它返回undefined
try set item如上localStorage.setItem(“loggedIn”,JSON.stringify(loggedIn))按此方式编码>并尝试获取。