我正在研究本机以开发示例应用程序。在本地本机侧面菜单组件中使用backHandler
时,这里出现一个问题。
实际上,侧面菜单包含更多页面!但是,当点击侧面菜单页面中的Android后退按钮时,只有后退处理程序起作用。在这里,我正在使用本机路由器通量。
后退按钮动作仅被调用一次!
这是我的代码:
componentDidMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
}
componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
}
handleBackPress = () => {
let {isGoback} = this.props.isGoback
//alert("Hi " + isGoback)
if(isGoback === "Contact Us"){
//alert("Hi: " + isGoback)
Actions.BasicSideMenuMain({selectedItem:'Home'});
//Actions.replace('BasicSideMenuMain')
}
}
答案 0 :(得分:1)
我遇到了同样的问题,这是我如何解决的: 使用路由器通量时,可以使用Actions.currentScene查找您所在的页面
handleBackPress = () => {
if(Actions.currentScene === 'mainPage'){ // 'mainPage' is kay of your scene
BackHandler.exitApp(); // or anything you want
return false;
}
Actions.pop(); // for all the pages beside mainPage in side menu always go back
return true;
}
希望它能起作用。