Моя желаемая структура приложения состоит в том, что сначала будет SplashScreen
, который затем переходит к LandingScreen
. Оттуда пользователь либо регистрируется, либо входит в систему, затем он переходит к HomeScreen
. Оттуда он может перейти на многие другие экраны и вернуться домой.
Когда пользователь находится в LandingScreen
, он не сможет вернуться к SplashScreen
. Когда пользователь находится в HomeScreen
, он не сможет вернуться к LandingScreen
или к любому экрану в auth
.
- Правильна ли моя схема навигатора для этого типа приложения?
- Как мне перейти от
LoginScreen
к HomeScreen
?
- Как запретить пользователю возвращаться, как описано выше? Я пытался
navigation.replace
для этого.
Это мой навигатор:
const MainNavigator = createStackNavigator({
splash: { screen: SplashScreen },
auth: {
screen: createStackNavigator({
landing: { screen: LandingScreen },
login: { screen: LoginScreen },
register: { screen: RegisterScreen }
})
},
main: {
screen: createStackNavigator({
home: { screen: HomeScreen },
details: { screen: DetailsScreen },
video: { screen: VideoScreen },
search: { screen: SearchScreen }
})
}
},
{
headerMode: 'none',
initialRouteName: 'splash',
cardStyle: { backgroundColor: '#FFFFFF' },
});