javascript - 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
解决方案
你的状态可能没有被初始化,所以你需要处理一个空/未定义的值,直到它被初始化。你可以做这样的事情来确保状态存在。
{this.state && this.state.musicinmedia.metadata.songname}
推荐阅读
- python - Python:根据匹配从列表中写入文件
- angular - 如何在 Angular 中正确配置路由
- excel - 交互式 Excel 图表:根据下拉选择获取多列的值
- ubuntu - AWS Ubuntu:从 Snap Store 配置 Ejabberd 主机
- python-3.x - TypeError: 'int' object is not iterable 这是一个在 6 位密码中计算不同数量结果的程序
- node.js - 使用 node-cron 进行调度部署 Discord.js 机器人时的端口绑定时间问题
- javascript - 如何添加新脚本并将其加载到滚动条上?
- c++ - 减少类中的模板混乱
- css - CSS 动画比例变换在 Firefox 中开始模糊
- merge - Gulp 4 ReferenceError:未定义合并