当我在 iOS 设备上按下我的应用程序中的按钮时,我的控制台输出显示以下内容:
2019-09-22 13:45:25.116 [info][tid:com.facebook.react.JavaScript] 你点击了按钮
2019-09-22 13:45:25.116323-0400 AwesomeProject[5368:2651835] 你点击了按钮
我正在将“您点击按钮”记录到 onPressButton 函数内的控制台,每次按下按钮都会调用它两次。
这是我完整的 App.js 文件,该文件来自:https ://facebook.github.io/react-native/docs/handling-touches :
import React, { Component } from 'react';
import { Button, StyleSheet, View } from 'react-native';
export default class ButtonBasics extends Component {
_onPressButton() {
console.log('You tapped the button once!')
alert('You tapped the button!')
}
render() {
return (
<View style={styles.container}>
<View style={styles.buttonContainer}>
<Button
onPress={this._onPressButton}
title="Press Me"
/>
</View>
<View style={styles.buttonContainer}>
<Button
onPress={this._onPressButton}
title="Press Me"
color="#841584"
/>
</View>
<View style={styles.alternativeLayoutButtonContainer}>
<Button
onPress={this._onPressButton}
title="This looks great!"
/>
<Button
onPress={this._onPressButton}
title="OK!"
color="#841584"
/>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
},
buttonContainer: {
margin: 20
},
alternativeLayoutButtonContainer: {
margin: 20,
flexDirection: 'row',
justifyContent: 'space-between'
}
});
我真的很茫然,为什么 onPressButton 在 iOS 上触发了两次,但在 Android 上却没有。