Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeError:无法读取属性';多对象中的状态名称';在反应中未定义的_Javascript_Reactjs - Fatal编程技术网

Javascript TypeError:无法读取属性';多对象中的状态名称';在反应中未定义的

Javascript TypeError:无法读取属性';多对象中的状态名称';在反应中未定义的,javascript,reactjs,Javascript,Reactjs,所以我试着用一堆对象来表示一些状态,假设这是在这个状态下。状态: this.state = { musicinmedia: { isDetected: false, metadata: { songname: '', artistname: '', albumname: '', } } } 在渲染中: {this.state.musicinmedia.metadata.songname} 给了我一个错误: TypeError:无法读取未定义的属性“songn

所以我试着用一堆对象来表示一些状态,假设这是在这个状态下。状态:

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

{this.state.musicinmedia.metadata.songname}
给了我一个错误:
TypeError:无法读取未定义的属性“songname”

您的状态可能未初始化,因此需要处理空/未定义的值,直到它被初始化。您可以这样做以确保状态存在

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

您的状态可能未初始化,因此需要处理null/未定义的值,直到它被初始化为止。您可以这样做以确保状态存在

{this.state && this.state.musicinmedia.metadata.songname}
请提供一份报告。您当前的代码段没有任何问题会导致出现错误。您得到的错误表明
this.state.musicinmedia.metadata
未定义的
,但您的示例中并非如此。请提供一个示例。您当前的代码段没有任何问题会导致出现错误。您得到的错误表明
this.state.musicinmedia.metadata
未定义的
,但您的示例中并非如此。