如何在React Redux中访问子组件中的数组属性?

时间:2019-06-17 17:37:33

标签: arrays properties react-redux

我无法在React Redux的子组件中访问数组的属性。我可以记录数组和过滤后的数组,但不能记录数组的属性。它指出:'类型错误:Director的属性为'undefined'。如何访问属性?

export class DirectorView extends React.Component {
  constructor(props) {
    super(props);
  }
  render() {
    const { director, movies } = this.props;
    console.log(movies); // works, all movies are logged
    console.log(director); // works, director is logged

    if (!director) return null;
    const directorMovies = movies.filter(m => m.director.name == director);
    console.log(directorMovies); // works, all movies of director are logged
    console.log(directorMovies[0]) // works, the first movie of the array is displayed
    // following do not work! All TypeError: Cannot read property 'director' of undefined
    //console.log(directorMovies[0]['director'].title)
    //console.log(directorMovies[0].director.title)
    //console.log(directorMovies[0][director][name])

    return (
      <Card bg="light" style={{ width: '90%' }}>
        <Card.Body>
          <Card.Title>{director}</Card.Title>
          <Card.Title>name: {director.name}</Card.Title>

1 个答案:

答案 0 :(得分:1)

您的: directorMovies[0].director.title 不同于: directorMovies[0].director.name,它是用于过滤数组的那个。

您可以尝试记录director对象以了解发生的情况:

console.log(directorMovies[0].director)