Comment puis-je sortir/arrêter une application Native React?
si mon application native React ne se connecte pas à son backend, j'affiche une alerte avec un bouton OK. Si cela arrive, il n'y a aucun intérêt à ce que l'application continue à fonctionner, alors j'aimerais l'éteindre quand le bouton est cliqué. Comment dois-je faire?
je soupçonne que la clé est dans le Registre, mais les documents sont un peu rares.
5 réponses
il n'y a pas de façon spécifique de réagir pour faire cela aujourd'hui. Vous devez accomplir cela du côté indigène des choses.
plus loin, vous développez pour iOS? Apple a déclaré que les applications ne devraient pas se fermer.
Pour Android, Utilisez BackAndroid pour quitter l'Application:
import React, {
    BackAndroid,
} from 'react-native';
BackAndroid.exitApp();
    	                je réponds à la question trop tard, mais j'ai pensé que la façon dont j'ai choisi pourrait aider quelqu'un, donc je réponds à cette question.
componentWillMount() {
   BackHandler.addEventListener('hardwareBackPress', this.backPressed);
}
componentWillUnmount() {
   BackHandler.removeEventListener('hardwareBackPress', this.backPressed);
}
backPressed = () => {
  Alert.alert(
    'Exit App',
    'Do you want to exit?',
    [
      {text: 'No', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
      {text: 'Yes', onPress: () => BackHandler.exitApp()},
    ],
    { cancelable: false });
    return true;
}
    	                Écrire un module natif qui effectue les actions suivantes lorsqu'il est appelé à:
IOS:
exit(9);
ANDROID:
((YourApplication) self.getApplicationContext()).kill();
...MODIFIER...
Ou tout simplement utiliser l'un que j'ai créé: https://www.npmjs.com/package/react-native-exit-app
Voici comment j'ai réussi:
  componentWillMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
  }
  componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
  }
  handleBackButtonClick() {
    BackHandler.exitApp();
    return true;
  }