【问题标题】:React Redux TypeError: Cannot read property 'name' of undefinedReact Redux TypeError:无法读取未定义的属性“名称”
【发布时间】:2026-01-08 19:15:01
【问题描述】:

const data = useSelector(state => state.user.userData); console.log(data); 时我可以读取我的数据

我在控制台上看到了该输出

{_id: "602afea4c03c9a38c8csd5", isAdmin: false, isAuth: true, email: "test@gmail.com", name: "John", …}

当我尝试在我的 userData 对象中获取电子邮件输出时,如下所示。

const data = useSelector(state => state.user.userData.email);
console.log(data);

我遇到类型错误:无法读取未定义的属性“电子邮件”。

我也尝试了 name 属性,但也没有用。

const data = useSelector(state => state.user.userData.name);
console.log(data);

没有改变仍然相同的错误类型错误:无法读取未定义的属性“名称”。

我无法到达 userData 对象内的任何道具

【问题讨论】:

  • 控制台日志记录是异步的;你的州是?
  • 我正在使用 Redux,如何查看?
  • 通过查看您的代码? console.log 将在(例如)promise 解决后更新其输出。如果您从异步操作中获取状态数据,您仍然需要在调用完成之前处理渲染。

标签: json reactjs redux state


【解决方案1】:

一个“?”帮助我解决了我的问题。如下图。

const data = useSelector((state) => state.user.userData); console.log(data?.email);

【讨论】:

    最近更新 更多