反应本机和箭头功能

时间:2018-07-05 16:01:57

标签: reactjs performance function react-native arrow-functions

在React for web中,为了提高性能,在onPressonClick等情况下,我们不应使用箭头功能。

此规则对React Native也有效吗?

3 个答案:

答案 0 :(得分:0)

“一次学习,随处写”。如果不是JavaScript,JavaScript即将成为所有比赛的胜利者。 React-Native是另一个漂亮的JavaScript库(有些喜欢“框架”)。由于是JavaScript,因此RN的规则和条件与其他任何JS库的规则和条件都相同。

性能不是此处比较的重点。实际上,无论如何都不应进行比较。这是代码的有效性和可读性。胖箭头功能是最相关的更改JS范例之一。它们允许调用匿名函数,并通过更改this绑定到函数的方式来处理现有的范围难题。例如,onPress = {this.onButtonPress.bind(this)}变成onPress = {() => this.onButtonPress}。如果仍然觉得声明一个函数很乏味,则可以执行以下操作

onPress = {() => { this.props.navigation.navigate('HomePage') }}

可以节省时间和代码,尽管这不是您惯常的做法,但还是要采用传统方式。

答案 1 :(得分:0)

使用箭头函数作为类属性是理想的,因为它不会创建自己的作用域。

如果生命周期方法(例如渲染)中有一个箭头函数,它的确会降低代码的效率,因为每次调用该方法时都会创建一个新函数,但这没关系,因为性能下降会可以忽略不计。

答案 2 :(得分:0)

两者都是出于自己的原因。性能并不是什么大问题。 通常,React-Native个应用程序始终使用箭头功能。 这取决于要求。例如,如果您有一个按钮及其onPress道具,则最好传递箭头功能,因为它不需要绑定。如果需要引用从中定义this的引用,则应使用常规功能(而不是箭头功能)。 箭头功能也非常灵活,您应该利用这些优势。 因此,如果需要this,我建议使用箭头功能和常规功能。我仅在需要this时才使用常规功能。

相关问题