【发布时间】:2018-07-26 22:46:49
【问题描述】:
首先,我有一个使用 Expo 构建的 React Native 应用程序,并利用 React Navigation 进行路由。
我正在使用 SwitchNavigator 在两个堆栈导航器之间切换,它们代表我的授权工作流程(我登录之前的屏幕)和我的应用工作流程(我登录后的屏幕),它看起来像这样.
const AppStack = createStackNavigator({ Home: HomeScreen, Second: SecondScreen, HouseDetail: HouseDetailScreen, Camera: CameraScreen}
);
const AuthStack = createStackNavigator({ Login: LoginScreen }
);
export default createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
App: AppStack,
Auth: AuthStack,
},
{
initialRouteName: 'AuthLoading'
}
);
我的问题是 Android 中后退按钮的行为不正常。
这是一个场景。我刚刚登录,我在 App stack 的 HomeScreen 页面中。我将使用
导航到 SecondScreenthis.props.navigation.navigate('Second')
此时,我想如果我点击返回按钮,我应该回到主屏幕。
但是,当我按下返回按钮(操作系统内置的那个)时,我会离开我的应用程序并进入 Expo 项目列表。
如果我运行 this.props.navigation.goBack(),那么它会按预期工作,我会回到主屏幕。
为什么会这样?这是世博会吗?
【问题讨论】:
标签: android react-navigation expo