最近在学习react native 但是一直不明,为啥定义一个方法,在onPress中为啥要写成this.back.bind(this),我back就是一个方法为啥还要再bind(this). 其实就是一个作用域,绑定这个作用域中的方法。
那么其实我们有两种写法去定义onPress的响应方法。
1.不加bind(this)
onPress={this.back}
....
back = () => {
const {navigator} = this.props;
navigator.pop();
}
这种写法不用去bind了,
()=>{} 这种形式的代码,语法规定就是(function(){}).bind(this),即自动添加了bind this
2.需要加bind
onPress={this.back.bind(this)}
....
back() {
const {navigator} = this.props;
navigator.pop();
}
这种要bind的
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。