【发布时间】:2020-12-12 18:05:54
【问题描述】:
我从屏幕 A 正常导航到屏幕 B
我想让屏幕 B 作为应用程序的根 / 导航应该忽略屏幕 A 并将屏幕 B 作为根处理
所以在屏幕 B 中,当用户点击 android 导航返回时,它应该最小化应用程序 不返回屏幕A
这是我在屏幕 B 中的代码
BackHandler.addEventListener("hardwareBackPress" , () => {
BackHandler.exitApp();
});
当我点击 android 后退按钮时
实际结果
它最小化应用程序,当我再次打开它时,它显示屏幕 A
预期结果
它应该只最小化应用程序,当我再次打开它时,它会显示相同的屏幕 B
顺便问一下,有没有什么方法可以让屏幕作为根而不是手动放置这么多监听器并使事情变得复杂?
更正确的意思是,以编程方式更改根屏幕,因为 React Navigation 仅初始化它,以后无法更改它
例子
const RootNavigator = createSwitchNavigator(
{
ScreenA : ScreenA,
ScreenB : ScreenB
},
{
initialRouteName: 'ScreenA' // I mean here
}
);
如果我想在 ReactNavigation 初始化之后在运行时更改这个 initialRouteName 怎么办
【问题讨论】:
标签: android react-native react-navigation