1.使用BackAndroid组件来完成对android物理返回键的监听
如下图,我们再Home组件中注册,一旦App进入主程序,就接管物理返回键的监听,我们仔在Home组件的渲染完成后来监听,在Home组件卸载后移除对返回键的监听,再onBackAndroid中,我们先检查navigator的堆栈,如果堆栈中有组件存在,则pop最顶层组件,如果组件为空,则采取在2s内按两次返回键退出App的策略。
2. 某些类自定义返回键操作(即点击返回键弹出一个alert之类的操作)
在所需类的初始化方法里调用BackAndroidTool.customHandleBack
栗子:
constructor(props) {
super(props);
BackAndroidTool.customHandleBack(this.props.navigator,() => {
Alert.alert('提示','您还未保存记录,确定要返回么?',
[{text:'取消',onPress:() => {}},
{text:'确定',onPress:() => { this.props.navigator.pop(); }}
]);
// 一定要 return true; 原因上面的参考链接里有
return true;
});
}
3.某些页面需要禁用返回键
在nav进行push的时候,设置属性ignoreBack为true 即可
this.props.navigator.push({
component: 所需要禁用的类,
ignoreBack:true,
});