在 React 中读取作为 属性 传递的嵌套对象的属性

Reading Properties of a Nested Object Passed as a Property in React

我正在通过 Context 将状态作为道具传递到我的 React 应用程序中的其他组件:

state = { user: null, username: null }

用户名和用户都使用 setState 方法更新。

我可以读取用户名属性,但我无法读取用户属性,这应该是一个嵌套对象。 请看照片:如果我传递整个用户对象,我会收到一条错误消息,指出存在对象键,但如果我尝试读取其中一个对象属性,则会抛出另一个错误消息,指出 属性 为空.

这没有任何意义,因为我可以检查上下文提供程序的状态并且嵌套对象的值都在那里:

任何人都可以帮助解决这个问题 - 我完全糊涂了。

检查user是否不为空,因为如果usernull,它会调用null.username,这会抛出错误。 setState() 是异步的,这就是为什么该值可以为 null,这是您设置的初始值。

{
user &&
  <div className='div-player'>
   ...
   ...
  </div>
}

这就是我实现目标的方式:

{ user && user.username }

这不会引发错误并允许我访问对象的嵌套属性。