首页 > 解决方案 > TypeError:无法读取 React 中未定义的属性“多个对象中的状态名称”

问题描述

所以我为一些状态的东西尝试了一堆对象,假设这是在 this.state 中:

this.state = {
 musicinmedia: {
  isDetected: false,
  metadata: {
   songname: '',
   artistname: '',
   albumname: '',
  }
 }
}

这在渲染中:

{this.state.musicinmedia.metadata.songname}

并给了我一个错误: TypeError: Cannot read property 'songname' of undefined

标签: javascriptreactjs

解决方案


你的状态可能没有被初始化,所以你需要处理一个空/未定义的值,直到它被初始化。你可以做这样的事情来确保状态存在。

{this.state && this.state.musicinmedia.metadata.songname}

推荐阅读