0
在我的React原生應用程序中,我有一個屏幕,當用戶按下按鈕提交答案時,我想要一個警告對話框來顯示答案是正確還是不正確。因此,我正在調用TouchableHighlight
按鈕的onPress
方法中的一個函數,並在該函數內指定了警報對話框。但是,這會導致警報對話框一遍又一遍地重新出現,因爲在每個幀中都會連續調用該功能。我怎樣才能讓函數只被調用一次?在React Native函數中創建警報對話框?
相關代碼: 渲染功能
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!"
);
}
},
這樣做,謝謝!爲什麼刪除括號會改變行爲? – user3802348
使用括號表示您將調用的結果傳遞給onPress而不是函數本身。但是你真正想要的是通過這個函數。沒有括號就會發生這種情況。 –