Nol*_*lan 37 native reactjs react-native
如果我的React Native应用程序无法连接到其后端,我会显示一个带有OK按钮的警报.如果发生这种情况,应用程序继续运行没有任何意义,因此我想在单击按钮时将其关闭.我该怎么做呢?
我怀疑关键是在AppRegistry中,但文档有点不足.
her*_*rtD 58
对于Android,使用BackAndroid退出应用程序:
import React, {
BackAndroid,
} from 'react-native';
BackAndroid.exitApp();
Run Code Online (Sandbox Code Playgroud)
Faz*_*shi 33
我太迟回答了这个问题,但我认为我选择的方式可能对某人有帮助,所以我正在回答这个问题.
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;
}
Run Code Online (Sandbox Code Playgroud)
WiR*_*iRa 14
编写一个本机模块,在调用时执行以下操作:
IOS:
exit(9);
Run Code Online (Sandbox Code Playgroud)
ANDROID:
((YourApplication) self.getApplicationContext()).kill();
Run Code Online (Sandbox Code Playgroud)
...编辑...
或者只使用我创建的那个:https://www.npmjs.com/package/react-native-exit-app
这就是我实现它的方式:
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
BackHandler.exitApp();
return true;
}
Run Code Online (Sandbox Code Playgroud)
这个 npm 模块帮助我解决了同样的问题 - react-native-exit-app
import RNExitApp from 'react-native-exit-app';
...
RNExitApp.exitApp();
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49637 次 |
| 最近记录: |