在 React 中读取作为 属性 传递的嵌套对象的属性
Reading Properties of a Nested Object Passed as a Property in React
我正在通过 Context 将状态作为道具传递到我的 React 应用程序中的其他组件:
state = { user: null, username: null }
用户名和用户都使用 setState 方法更新。
我可以读取用户名属性,但我无法读取用户属性,这应该是一个嵌套对象。
请看照片:如果我传递整个用户对象,我会收到一条错误消息,指出存在对象键,但如果我尝试读取其中一个对象属性,则会抛出另一个错误消息,指出 属性 为空.
这没有任何意义,因为我可以检查上下文提供程序的状态并且嵌套对象的值都在那里:
任何人都可以帮助解决这个问题 - 我完全糊涂了。
检查user
是否不为空,因为如果user
是null
,它会调用null.username
,这会抛出错误。 setState()
是异步的,这就是为什么该值可以为 null,这是您设置的初始值。
{
user &&
<div className='div-player'>
...
...
</div>
}
这就是我实现目标的方式:
{ user && user.username }
这不会引发错误并允许我访问对象的嵌套属性。
我正在通过 Context 将状态作为道具传递到我的 React 应用程序中的其他组件:
state = { user: null, username: null }
用户名和用户都使用 setState 方法更新。
我可以读取用户名属性,但我无法读取用户属性,这应该是一个嵌套对象。
这没有任何意义,因为我可以检查上下文提供程序的状态并且嵌套对象的值都在那里:
任何人都可以帮助解决这个问题 - 我完全糊涂了。
检查user
是否不为空,因为如果user
是null
,它会调用null.username
,这会抛出错误。 setState()
是异步的,这就是为什么该值可以为 null,这是您设置的初始值。
{
user &&
<div className='div-player'>
...
...
</div>
}
这就是我实现目标的方式:
{ user && user.username }
这不会引发错误并允许我访问对象的嵌套属性。