javascript - 访问对象内部的数组

标签 javascript arrays reactjs object ecmascript-6

我有一个渲染对象值的功能组件

    const MovieItemDetails = (props) => {
  return <div className='item-details'>
    <div>
      <img key={props.movieDetails.id} src={`https://image.tmdb.org/t/p/w1280${props.movieDetails.backdrop_path}`} alt={props.movieDetails.title} className='header-item-image' />
      <a href='#t' className='header-item-name'>{props.movieDetails.title}</a>
      <img src={`https://image.tmdb.org/t/p/w185/${props.movieDetails.poster_path}`} alt={props.movieDetails.title} className='header-item-poster' />
      <h2>{props.movieDetails.genres[0].name}</h2>
    </div>
  </div>
}

我正在尝试访问嵌套数组,如下图所示 enter image description here

我想要的是第一个数组的流派名称,我已经尝试过 {props.movi​​eDetails.genres[0].name}

但我收到“类型错误:无法读取未定义的属性“0””

编辑:完整对象 enter image description here

最佳答案

与其一次又一次地引用嵌套数组,不如在开始时将其提取到 const 中并在渲染之前检查其值。请看下面:

const MovieItemDetails = (props) => {
      const {movieDetails} = {...props};
      return (movieDetails && movieDetails.genres ? <div className='item-details'>
        <div>
          <img key={movieDetails.id} src={`https://image.tmdb.org/t/p/w1280${movieDetails.backdrop_path}`} alt={movieDetails.title} className='header-item-image' />
          <a href='#t' className='header-item-name'>{movieDetails.title}</a>
          <img src={`https://image.tmdb.org/t/p/w185/${movieDetails.poster_path}`} alt={movieDetails.title} className='header-item-poster' />
          <h2>{movieDetails.genres[0].name}</h2>
        </div>
      </div> : null);
}

关于javascript - 访问对象内部的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53845203/

相关文章:

javascript - 对 Angular 中具有嵌套子对象的对象数组进行排序 (7)

javascript - react 从子元素到父元素的状态绑定(bind)

javascript - 任何 Python 替代 Selenium 以编程方式登录需要 JavaScript 登录的网站?

javascript - 当点击关闭按钮时,它应该停止使用 alertify 进行重定向吗?

javascript - module.exports 是 Node.js 独有的

c++ - 在 C++ 中旋转数组的最后 n 个元素

python - numpy.where() 函数仅用于精确匹配?

reactjs - 具有 PostCSS/CSS 模块的全局实用程序类

javascript - 在 DraftJS 中设置自定义类型

Javascript - 打开链接