从 redux 存储中检索对象
Retrieving objects from redux store
Redux store 是对象时如何访问?
在 Redux DevTools 结构中是:
在 FC 中,我正在尝试访问它:
const user = useSelector((state) => state.user.user.data);
但首先有一个提示:
属性 'user' 在类型 'DefaultRootState'.ts(2339) 上不存在,尽管代码在 .jsx 中。
console.log("user: " + user) 显示 [object 对象]。
将它包含在 return (<h1>user: {user.firstName}</h1)
中会抛出一个错误 Objects are not valid as a React child.
我也想将用户存储在本地存储中,但它保存为 [object Object]
localStorage.setItem('user', user);
您应该执行 console.log("user", user)
以查看 user
对象而不是 [Object object]
并将其保存到 localStorage
您需要将其转换为字符串 (read the docs) 像这样
localStorage.setItem("user", JSON.stringify(user));
并检索它
const user = JSON.parse(localStorage.getItem("user"));
您遇到的错误
return (<h1>user: {user.firstName}</h1>) // Here you missed a ">" in the question
是因为在 user
对象内部有一个名为 firstName
的 属性 是对象而不是字符串,但我们不能确定,因为您将其切入屏幕。
Redux store 是对象时如何访问?
在 Redux DevTools 结构中是:
在 FC 中,我正在尝试访问它:
const user = useSelector((state) => state.user.user.data);
但首先有一个提示: 属性 'user' 在类型 'DefaultRootState'.ts(2339) 上不存在,尽管代码在 .jsx 中。 console.log("user: " + user) 显示 [object 对象]。
将它包含在 return (<h1>user: {user.firstName}</h1)
中会抛出一个错误 Objects are not valid as a React child.
我也想将用户存储在本地存储中,但它保存为 [object Object]
localStorage.setItem('user', user);
您应该执行 console.log("user", user)
以查看 user
对象而不是 [Object object]
并将其保存到 localStorage
您需要将其转换为字符串 (read the docs) 像这样
localStorage.setItem("user", JSON.stringify(user));
并检索它
const user = JSON.parse(localStorage.getItem("user"));
您遇到的错误
return (<h1>user: {user.firstName}</h1>) // Here you missed a ">" in the question
是因为在 user
对象内部有一个名为 firstName
的 属性 是对象而不是字符串,但我们不能确定,因为您将其切入屏幕。