我正在使用react-native-router-flux最新版本“ react-native-router-flux”:“ ^ 4.0.6” 和“ react-native”:“ 0.60.5英寸。我尝试了许多替代方法,但没有成功。我想从物理设备或仿真器的本地场景中退出本机应用程序。任何帮助将不胜感激。
<Router>
<Stack key="root" hideNavBar={true}>
<Scene key="Home" component={Home} title="Home" initial={true} type={ActionConst.RESET}/>
<Scene key="Categories" component={Categories} title="Categories"/>
</Stack>
</Router>
//Home.js
componentDidMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackButtonClick);
}
handleBackButtonClick() {
BackHandler.exitApp();
return true;
}
答案 0 :(得分:0)
您应将此 backAndroidHandler 放入主路由器中:
使用 Actions.currentScene ,您将获得其中的 Scene
<Router
backAndroidHandler={() => {
let cs = Actions.currentScene;
if (cs === 'Home') {return false }
else {Actions.pop()}
}}
>