React:组件函数中未定义“this”

类playerControl扩展了React.Component{
建造师(道具){
超级(道具)
此.state={
我的回答是:错,
shuffleActive:错,
}
}
render(){
var shuffleClassName=this.state.toggleActive?“玩家控制图标激活”:“玩家控制图标”
返回(
<div className=“玩家控制”>
&太棒了
className=“玩家控制图标”
name='refresh'
onClick={this.ontogglelop}
spin={this.state.loopActive}
/&燃气轮机;
&太棒了
className={shuffleClassName}
name='random'
onClick={this.ontogleshuffle}
/&燃气轮机;
</div>
);
}
OnToggleLop(事件){
//“这是未定义的?”<---此处
this.setState({loopActive:!this.state.loopActive})
this.props.ontogglelop()
}

我想更新切换时的loopActive状态,但是对象在处理程序中未定义。根据教程文档,我应该引用组件。我是否缺少什么

ES6React.Component不会自动将方法绑定到自身。您需要自己在constructor中绑定它们。如下所示:

构造函数(道具){
超级(道具);
此.state={
我的回答是:错,
shuffleActive:错,
};
this.ontoggleop=this.ontoggleop.bind(this);
}

发表评论