这个错误是因为你试图访问一个未定义(undefined
)的对象的属性
要解决这个问题,你需要确保 tracks[trackIndex]
是已定义的,然后再尝试访问它的 title
属性。你可以在访问属性之前进行检查。
例如,你可以在渲染列表时添加一个条件渲染:
{tracks && tracks[trackIndex] && (
<div>
<h3>{tracks[trackIndex].title}</h3>
</div>
)}
这将确保只有在 tracks
和 tracks[trackIndex]
都已定义时,才会尝试访问 title
属性。
另一种方法是使用可选链操作符(Optional Chaining),这是一个较新的 JavaScript 功能,可以简化对嵌套对象的访问。要使用可选链操作符,你需要确保你的项目支持 ES2020 或更高版本的 JavaScript。
<h3>{tracks?.[trackIndex]?.title}</h3>
这将确保只有在 tracks
和 tracks[trackIndex]
都已定义时,才会尝试访问 title
属性。如果任何一个值为 undefined
,则整个表达式的结果将为 undefined
,而不会引发错误。
领取专属 10元无门槛券
手把手带您无忧上云