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