背景: 需求要为页面返回时定向跳转至某个页面
技术背景:
@react-navigation/native: "^5.1.1"
@react-navigation/stack: "^5.2.3"
应用界面:
引用行为
router的定义
操作流程:
在自定义左上角返回事件后,需要自定义或者禁用界面的手势右滑返回事件;
经过对官网https://reactnavigation.org/docs/custom-android-back-button-handling的研究发现其有定义一个gestureEnabled的属性来控制手势是否生效与否;
通过此属性能阻止IOS下的手势返回,但不能解决安卓全面屏系列的返回事件;
对安卓的禁止右滑操作需要借助BackHandler绑定物理键的返回hardwareBackPress事件,且其绑定的函数最终必须返回true才能实现安卓的手势禁用和自定义返回参考如下图;
绑定安卓物理返回键事件
绑定函数必须返回true