繁体   English   中英

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

[英]Reading Properties of a Nested Object Passed as a Property in React

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

 state = { user: null, username: null } 

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

我可以读取username属性,但不能读取user属性,该属性应该是嵌套对象。 在此处输入图片说明 请查看照片:如果我传递了整个用户对象,则会收到一条错误消息,指出存在对象键,但是如果我尝试读取其中一个对象属性,则会抛出另一个错误,指出该属性为null。 在此处输入图片说明

这没有任何意义,因为我可以检查Context Provider的状态,并且嵌套对象的值都在那里:

在此处输入图片说明

有什么可以帮助的吗-我完全感到困惑。

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

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

这就是我能够实现的目标:

 { user && user.username } 

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM