touchableopacity react reactjs native react-native

reactjs - touchableopacity - react navigation



¿Cómo salgo/cierro una aplicación React Native? (5)

Si mi aplicación React Native no puede conectarse a su backend, muestro una Alerta con un botón Aceptar. Si esto sucede, no tiene sentido que la aplicación continúe ejecutándose, así que me gustaría apagarla cuando se haga clic en el botón. ¿Cómo hago esto?

Sospecho que la clave está en AppRegistry pero los documentos son un poco escasos.


Así es como he logrado:

componentWillMount() { BackHandler.addEventListener(''hardwareBackPress'', this.handleBackButtonClick); } componentWillUnmount() { BackHandler.removeEventListener(''hardwareBackPress'', this.handleBackButtonClick); } handleBackButtonClick() { BackHandler.exitApp(); return true; }


Escriba un módulo nativo que realice las siguientes acciones cuando se le llame:

IOS:

exit(9);

ANDROIDE:

((YourApplication) self.getApplicationContext()).kill();

...EDITAR...

O simplemente use el que creé: https://www.npmjs.com/package/react-native-exit-app


Estoy respondiendo la pregunta demasiado tarde, pero pensé que la forma en que elegí podría ayudar a alguien, así que estoy respondiendo esta pregunta.

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; }


No hay una forma específica de reaccionar nativa para hacer esto hoy. Tendrías que lograr esto desde el lado nativo de las cosas.

Además, ¿estás desarrollando para iOS? Apple ha declarado que las aplicaciones no deberían cerrarse por sí mismas.


Para Android, use BackAndroid para salir de la aplicación:

import React, { BackAndroid, } from ''react-native''; BackAndroid.exitApp();