Когда я нажимаю кнопку в своем приложении на устройстве 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.