gpt4 book ai didi

javascript - React Native 组件回调函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:12:12 24 4
gpt4 key购买 nike

在组件中,我见过不同的回调方式。有什么区别:

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

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

最佳答案

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

这个代码块使用了 ES6 的 Arrow 函数;这是在 javascript 中声明函数的另一种方式。另外,this的范围在箭头函数中取决于函数的创建位置,而不是 this 的正常范围规则默认情况下取决于函数的调用方式

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

这条语句调用了doSomething方法。但是由于事件注册是在不同的元素上完成的,doSomething 的范围不同,使用 bind 强制绑定(bind)javascript 中的方法。

此外,在第二种方法中,您没有传递数据参数,您可以使用第二个参数将其传递给该方法,如下所示。

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

关于javascript - React Native 组件回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41680689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com