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} />
这应该是您需要避免返回登录屏幕的内容
使用这个
<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 钩子
使用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} />
这应该是您需要避免返回登录屏幕的内容
使用这个
<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 钩子