reactjs 未捕获的类型错误:无法读取undefined的属性,但我可以在控制台中看到它

uqdfh47h  于 2022-11-04  发布在  React
关注(0)|答案(2)|浏览(214)

第一个
`
在控制台中,我有

有什么建议吗?
我只是想Map包含在json中的用户,我已经尝试过.map(),但它throughs.map()不是函数

8mmmxcuj

8mmmxcuj1#

尽管在您的状态下将reuest初始化为空对象,但在获取数据之前,request.user是未定义的,因此它无法读取email属性。
一些解决方法可以

  1. <Card.Header>{request.user?.email}</Card.Header>
  2. const [request, setRequests] = useState({ user: {} });
ig9co6j1

ig9co6j12#

它会显示错误,因为对象最初是空的,而您尝试request.user.email在request = {}时存取www.example.com。
您可以尝试可选链接-将www.example.com替换request.user.email为request?.user?.email
另一个选项是使用undefined初始化请求,以便可以使用条件渲染。

  1. const [request, setRequest] = useState();
  2. // do this when rendering
  3. {request &&
  4. <Card key={request.id}>
  5. <Card.Header>{request.user.email}</Card.Header>
  6. <Card.Body>
  7. <Card.Title>{request.address}</Card.Title>
  8. <Card.Text>
  9. {request.description}<br/>
  10. {request.kind}
  11. </Card.Text>
  12. </Card.Body>
  13. </Card>
  14. }
展开查看全部

相关问题