React Native组件回调函数

在组件中,我已经看到了执行回调的不同方法。之间有什么区别?

<MyButton onPress={ () => {doSomething(data)} }>

<MyButton onPress={ this.doSomething.bind(this) }>

回答:

<MyButton onPress={ () => {doSomething(data)} }>

该代码块使用ES6箭头功能;这是在javascript中声明函数的另一种方式。另外,thisin

arrow函数的作用域取决于函数的创建位置,而this默认情况下,普通作用域规则取决于 函数的调用方式

<MyButton onPress={ this.doSomething.bind(this) }>

该语句调用doSomething方法。但是由于事件注册是在不同的元素上完成的,因此Scope的范围doSomething是不同的,并且通过使用bindjavascript中的方法被强制绑定。

同样,在第二种方法中,您没有传递data参数,可以使用第二个参数将其传递给如下所示的方法。

<MyButton onPress={ this.doSomething.bind(this, data)} }>

以上是 React Native组件回调函数 的全部内容, 来源链接: utcz.com/qa/417057.html

回到顶部