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()}
贴个错误的代码:
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。
相关文章推荐
- 如何使用 bind 设置 DNS 服务器
- Jquery绑定事件(bind和live的区别介绍)
- jQuery bind事件使用详解
- javascript中apply、call和bind的使用区别
- javascript中call apply 与 bind方法详解
- 超级给力的JavaScript的React框架入门教程
- JavaScript的React框架中的JSX语法学习入门教程
- 由ReactJS的Hello world说开来
- Asp.net中的数据绑定Eval和Bind应用示例
- jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
- 深入探讨前端框架react
- 浅谈javascript中的call、apply、bind
- 开启Javascript中apply、call、bind的用法之旅模式
- 浅析Javascript中bind()方法的使用与实现
- JS中使用apply、bind实现为函数或者类传入动态个数的参数
- Query中click(),bind(),live(),delegate()的区别
- jQuery中的bind绑定事件与文本框改变事件的临时解决方法
- 解析jQuery的三种bind/One/Live事件绑定使用方法
- 详解Jquery实现ready和bind事件
- 全面解析JavaScript中apply和call以及bind(推荐)