从 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 的 属性 是对象而不是字符串,但我们不能确定,因为您将其切入屏幕。