React:从State Array元素获取内容



我正在试验React State,其中一个状态是数组,我正试图访问其中一个单独的数组元素。我发现下面的行有问题:

const Character = this.state.Characters[0];

如果我在下面的代码中使用上面的行,React将返回错误,但是如果我使用:

const Character = somedefinedarray[0];

下面的代码可以工作,但我根本看不出上面两行的区别。有人能启发我吗?可能是与";这个";或状态数组访问等等???

class Ch extends Component {
constructor(props) {
super(props);
this.state = {
Characters: []
}
}
componentDidMount() {
this.setState({Characters: somedefinedarray});
}
render() {
const Character = this.state.Characters[0];
return (
<p>{Character.somestate}</p>
)
}
}

在第一次渲染期间,默认状态为Characters: []

因此,当您访问Character = this.state.Characters[0];时,Character将是未定义的,因为您的状态数组是empty

然后,您尝试使用Character.somestate,这将导致一个错误,即cannot read property somestate of undefined

相关内容

  • 没有找到相关文章

最新更新