Reactjs 反应:从状态数组元素获取内容
我在试验React状态,其中一个状态是一个数组,我试图访问一个单独的数组元素。我发现下面这句话有问题:Reactjs 反应:从状态数组元素获取内容,reactjs,Reactjs,我在试验React状态,其中一个状态是一个数组,我试图访问一个单独的数组元素。我发现下面这句话有问题: const Character = this.state.Characters[0]; 如果我在下面的代码中使用上述行,React将返回错误,但是如果我使用: const Character = somedefinedarray[0]; 下面的代码可以工作,但我根本看不出上面两行的区别。有人能给我一些启发吗?可能与“this”或状态数组访问有关吗 class Ch extends Comp
const Character = this.state.Characters[0];
如果我在下面的代码中使用上述行,React将返回错误,但是如果我使用:
const Character = somedefinedarray[0];
下面的代码可以工作,但我根本看不出上面两行的区别。有人能给我一些启发吗?可能与“this”或状态数组访问有关吗
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>
)
}
}
Ch类扩展组件{
建造师(道具){
超级(道具);
此.state={
字符:[]
}
}
componentDidMount(){
this.setState({字符:somedefinedarray});
}
render(){
const Character=this.state.Characters[0];
返回(
{Character.somestate}
)
}
}
在第一次渲染期间,默认状态为字符:[]
因此,当您访问Character=this.state.Characters[0]时代码>,字符
将未定义,因为您的状态数组是空的
然后,您尝试使用字符.somestate
,这将导致一个错误,即无法读取未定义的属性somestate
@bhojendraauniyar访问数组的不存在索引不会引发错误。它只返回未定义的
。