您的位置:首页 > Web前端 > React

react 的 bind this 几种方法

2016-06-28 10:12 633 查看
1.  在constructor里面可以绑定,例如:

    constructor(){

        this.xxx = this.xxx.bind(this);

    }

2. 在调用的时候可以绑定,例如:

     onClick= {this.xxx.bind(this)}

3. 在调用的时候,换一种写法, 例如:

     onClick = { () => this.xxx()}

贴个错误的代码:

class hello1 extends Component {
constructor(props){
super(props);
this.state = {
val: 0
};
}
render() {
return (
<View>
<Text onPress={this._onPress}>
点我
</Text>
</View>
);
}
_onPress() {
this.setState({val: this.state.val + 1});
alert(this.state.val);
}
}
当点击 “点我” 的时候,程序报错且val值没有改变,原因是js的this是在调用时绑定的,所以onPress时this不是指向你的hello1对象,为了避免这个问题,需要提前用bind绑定好以确保调用的时候this也是指向hello1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  react bind onRress t