function - 如何在 React-Native 中从另一个函数调用一个函数?

标签 function react-native nested

这可能是一个简单的问题,但我是 React-Native 的新手,现在完全陷入困境。

如何从函数1调用函数2?

这是我尝试过的,但是当按下第一个按钮时,它会呈现一个错误:

Undefined is not a function (evaluating 'this.function2()')

import React, { Component } from 'react';
import {
AppRegistry,
View,
Image,
TouchableOpacity,
} from 'react-native';

export default class Example extends Component {

    function1(){
        console.log('function1() called');
        ...
        this.function2();
    };

    function2() {
        console.log('function2() called');
        ...
    };

    render() {
        return (
            <View>
                <TouchableOpacity onPress={this.function1}>
                    <Image source={require('../../../assets/img/button.png')} />
                </TouchableOpacity>

                <TouchableOpacity onPress={this.function2}>
                    <Image source={require('../../../assets/img/button.png')} />
                </TouchableOpacity>
            </View>
        );
    };
}

AppRegistry.registerComponent('Example', () => Example);

最佳答案

试试这个,

<TouchableOpacity onPress={() => this.function1()}>
      <Image source={require('../../../assets/img/button.png')} />
</TouchableOpacity>

与函数表达式相比,粗箭头函数的语法更短,并且在词法上绑定(bind) this 值。箭头函数始终是匿名的,并且可以有效地将function (arguments) { expression } 转换为arguments => expression。如果在箭头后使用表达式,则返回是隐式的,因此不需要返回。

关于function - 如何在 React-Native 中从另一个函数调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46018118/

相关文章:

javascript - 如何创建返回间隔为 boolean 值+输入并打印的函数(number、from、to)

javascript - react-native-maps:UrlTile 和 Polyline - zIndex/Overlaying 不工作

javascript - React-native 博览会中 ImageBackground 上方的 LinearGradient

c# - 通过测验了解 C# 中的嵌套泛型类

嵌套匹配的正则表达式

javascript - 单击时切换文本内容。出于某种原因需要点击 2 次?

javascript - 使用用户定义函数时 map 消失

python - Django 快捷键嵌套外键

c - 函数返回一些指针为 NULL

javascript - 返回上一页可以工作,但没有使用 react 原生动画