在React Native函数中创建Alert对话框?

时间:2016-05-14 20:19:37

标签: ios reactjs dialog react-native alert

在我的React-native应用程序中,我有一个屏幕,当用户按下按钮提交答案时,我想要一个警告对话框,告诉他们答案是正确还是不正确。所以,我在onPress按钮的TouchableHighlight方法中调用一个函数,在该函数中我指定了警告对话框。但是,这会导致“警报”对话框一遍又一遍地重新出现,因为在每个帧中连续调用该函数。如何让函数只被调用一次?

相关代码: 渲染功能

render: function() {                    
    return (
        <View style={styles.container}>
            <Text style={styles.title}>{this.state.title}</Text>
            <TouchableHighlight style = {styles.button}
                    onPress={this.onSubmitPressed()}
                    underlayColor='#99d9f4'>
                    <Text style = {styles.buttonText}>SUBMIT</Text>
            </TouchableHighlight>
        </View>
    );
},

验证功能:

onSubmitPressed: function() {
    if (this.checkSolution) {
        Alert.alert(
            'Alert title',
            "Correct!"
        );
    }
    else {
        Alert.alert(
            'Alert title',
            "Incorrect!"
        );
    }
},

1 个答案:

答案 0 :(得分:5)

您正在渲染函数中调用onSubmitPressed。将onPress={this.onSubmitPressed()}更改为onPress={this.onSubmitPressed}(请注意缺少的括号)。