5-4深入了解react组件关于this的问题,为什吗点击之后找不到this不懂,老师可以详细说下吗,或者推荐个文章
来源:5-4 深入了解React(React组件)

慕粉1902362591
2018-02-06
class ES6Component extends React.Component{
constructor(props){
super(props);
console.log(this);
this.state={
name:"Rosen,wen",
age:18
};
// this.handleClick=this.handleClick.bind(this);
}
handleClick(){
console.log(this);
console.log("onclick");
this.setState({
age:this.state.age+1
})
}
render(){
return (
<div>
<h1>{this.state.name}</h1>
<p> I am {this.state.age}year old</p>
<button onClick={this.handleClick}>加以岁</button>
</div>)
};
}
// let jsx=<div style={style} className="jsx">jsx....</div>;
ReactDOM.render(<div><ES6Component name="liang"/></div>,document.getElementById('app'),function () {
});
1回答
-
<button onClick={this.handleClick}>加以岁</button>这么写的话类似下面这种事件的绑定,事件回调以后作用域变了,在事件回调里用this就不是指向obj了。
var obj = {
handleClick(){
// do something
}
bindEvent(){
$('button').click(function(){
// 这里handleClick会找不到
this.handleClick()
});
}
}
212018-02-07
相似问题