React Native组件回调函数
在组件中,我已经看到了执行回调的不同方法。之间有什么区别?
<MyButton onPress={ () => {doSomething(data)} }>
和
<MyButton onPress={ this.doSomething.bind(this) }>
回答:
<MyButton onPress={ () => {doSomething(data)} }>
该代码块使用ES6箭头功能;这是在javascript中声明函数的另一种方式。另外,this
in
arrow函数的作用域取决于函数的创建位置,而this
默认情况下,普通作用域规则取决于 函数的调用方式 。
<MyButton onPress={ this.doSomething.bind(this) }>
该语句调用doSomething
方法。但是由于事件注册是在不同的元素上完成的,因此Scope的范围doSomething
是不同的,并且通过使用bind
javascript中的方法被强制绑定。
同样,在第二种方法中,您没有传递data参数,可以使用第二个参数将其传递给如下所示的方法。
<MyButton onPress={ this.doSomething.bind(this, data)} }>
以上是 React Native组件回调函数 的全部内容, 来源链接: utcz.com/qa/417057.html