react-native-router-flux 禁用 android 后退按钮返回登录屏幕

react-native-router-flux disabling android back button from going back to login screen

使用react-native-router-flux,用户成功登录后,我想禁用后退按钮返回登录屏幕。 但我似乎无法找到获取当前 "Scene" 或 "Stack" 的方法,然后进行一些登录:

backAndroidHandler={() => {
                        if (currentScene === afterLoginScreeen) {
                         return true;   
                        }
                    }}

有没有人设法解决这个问题?

根据我在 react-native-router-flux 上的经验,我曾使用

type={ActionConst.RESET} in Scene

<Scene duration={0} key="main" component={Main} title="Some Title" type={ActionConst.RESET} />

这应该是您需要避免返回登录屏幕的内容

ActionConst and Scene.type explaination

使用这个

<Scene key="Screen1" type="replace" component={Screen1} /> 

这对我有用

import {BackHandler} from 'react-native';

UNSAFE_componentWillMount() {
    BackHandler.addEventListener("hardwareBackPress", this.handleBackButton);        
  }

handleBackButton = () => {
             // Do nothing
             return true;
  };

更新:由于 componentWillMount 已弃用,应改用 useEffect 钩子