【发布时间】:2021-03-25 06:34:14
【问题描述】:
我正在开发一个带有 React Native 和 React Navigation 的应用程序。对于大多数应用程序,我都有一个底部选项卡导航器和标题。但是,在应用程序的一个部分中,用户可以拨打电话并被带到没有导航的屏幕。用户不应该在不结束通话的情况下导航到上一个屏幕。如何防止用户返回?
【问题讨论】:
标签: reactjs react-native expo react-navigation
我正在开发一个带有 React Native 和 React Navigation 的应用程序。对于大多数应用程序,我都有一个底部选项卡导航器和标题。但是,在应用程序的一个部分中,用户可以拨打电话并被带到没有导航的屏幕。用户不应该在不结束通话的情况下导航到上一个屏幕。如何防止用户返回?
【问题讨论】:
标签: reactjs react-native expo react-navigation
如果你使用 react-native-navigation v5,它支持多个监听器,你需要的一个是 beforeRemove 这是在屏幕被移除之前调用的,你可以有条件地阻止它的默认行为。
useEffect(() => {
navigation.addListener("beforeRemove", (e) => {
if(yourCondition) {
return ;
} else {
e.preventDefault();
}
});
}, [navigation]);
【讨论】: