Bouton de retour Réagir natif de la sortie de l'app
J'ai mis android bouton de retour de quitter l'application de la fonctionnalité dans mon réagir application native de mon écran d'accueil. Mais quand j'appuie sur android bouton de retour sur d'autres écrans, puis aussi il est appelé.
componentDidMount() {
if (Platform.OS == "android") {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButton);
}
this._setupGoogleSignin();
this._getUserDetails();
const { navigate } = this.props.navigation;
console.log("object url is", this.state.postsArray[0].url);
}
handleBackButton = () => {
Alert.alert(
'Exit App',
'Exiting the application?', [{
text: 'Cancel',
onPress: () => console.log('Cancel Pressed'),
style: 'cancel'
}, {
text: 'OK',
onPress: () => BackHandler.exitApp()
}, ], {
cancelable: false
}
)
return true;
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButton);
}
Vous devez vous connecter pour publier un commentaire.
Si votre écran d'accueil est toujours monté lorsque vous accédez à d'autres écrans ou tout en démontant le
HomeScreen
si vous ne retirez pas l'EventListener il sera toujours appelé.Vous devez supprimer de l'EventListener sur de naviguer ou de le démonter,
removeEventListener
est de ne jamais les appeler. Essayez de supprimer l'auditeur avant de naviguer vers un autre écran.Si vous ne voulez pas le message d'Alerte à apparaître dans d'autres composants de l'écran, mais seulement dans un composant spécifique de l'écran, vous pouvez suivre ce.
La BackHandler qui va afficher un message d'Alerte ne fonctionne que dans TestComponent
Nous pouvons ajouter abonnements pour didfocus à l'intérieur de notre Application principale Conteneur.Nous pouvons ajouter notre logique pour vérifier bouton tapoté avec un variable statique.
Guyz veuillez faire comprendre qu'il pourrait ne pas être seulement le problème de réagir natif. Soyez prudent tout en l'intégrant avec firebase. La récente firebase version a le problème de l'intégration bouton de retour en réaction à des applications natives!! Merci de déclasser le firebase version de firebase-version @5.0.3 et vérifiez à nouveau si elle fonctionne ou pas! J'ai eu le même problème et a été inquiété pour jours. J'ai finalement déclassé @version 5.0.3 et maintenant le bouton de retour fonctionne parfaitement bien! Vous pouvez rétrograder à la baisse des versions si toujours confronté au problème.