Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 防止使用React Native返回上一屏幕_Reactjs_React Native_Expo_React Navigation - Fatal编程技术网

Reactjs 防止使用React Native返回上一屏幕

Reactjs 防止使用React Native返回上一屏幕,reactjs,react-native,expo,react-navigation,Reactjs,React Native,Expo,React Navigation,我正在使用React Native和React Navigation开发一个应用程序。对于大多数应用程序,我有一个底部选项卡导航器和标题。然而,在应用程序的一个部分,用户可以打电话,并被带到没有导航的屏幕上。如果不结束通话,用户将无法导航到上一屏幕。如何防止用户返回?如果使用react native navigation v5,它支持多个侦听器,您需要的侦听器是beforeRemove在删除屏幕之前调用它,您可以有条件地阻止它的默认行为 useEffect(() => { n

我正在使用React Native和React Navigation开发一个应用程序。对于大多数应用程序,我有一个底部选项卡导航器和标题。然而,在应用程序的一个部分,用户可以打电话,并被带到没有导航的屏幕上。如果不结束通话,用户将无法导航到上一屏幕。如何防止用户返回?

如果使用react native navigation v5,它支持多个侦听器,您需要的侦听器是
beforeRemove
在删除屏幕之前调用它,您可以有条件地阻止它的默认行为

   useEffect(() => {
    navigation.addListener("beforeRemove", (e) => {
       if(yourCondition) {
         return ;
        } else {
      e.preventDefault();
     }
    });
}, [navigation]);

如果使用react native navigation v5,它支持多个监听器,您需要的监听器是
beforeRemove
,在删除屏幕之前调用该监听器,您可以有条件地防止其默认行为

   useEffect(() => {
    navigation.addListener("beforeRemove", (e) => {
       if(yourCondition) {
         return ;
        } else {
      e.preventDefault();
     }
    });
}, [navigation]);