为什么我们有多个stackNavigators?

时间:2018-12-01 11:31:46

标签: reactjs react-native mobile react-navigation react-navigation-stack

例如,此代码形式import { createSwitchNavigator, createStackNavigator, createAppContainer } from 'react-navigation'; // Implementation of HomeScreen, OtherScreen, SignInScreen, AuthLoadingScreen // goes here. const AppStack = createStackNavigator({ Home: HomeScreen, Other: OtherScreen }); const AuthStack = createStackNavigator({ SignIn: SignInScreen }); export default createAppContainer(createSwitchNavigator( { AuthLoading: AuthLoadingScreen, App: AppStack, Auth: AuthStack, }, { initialRouteName: 'AuthLoading', } )); documentation用于身份验证:

{{1}}

为什么我们有两个不同的堆栈导航器?为什么我们不将所有屏幕都包装到一个导航器中?在同一导航器中包装不同屏幕的逻辑应该是什么?

1 个答案:

答案 0 :(得分:1)

如果您仅考虑导航,则没有真正的理由将一个堆栈导航器安装在另一个中。

但是,出于视觉原因,可能需要使用不同的导航器-不同的过渡,标题布局和其他样式选项,所有这些都可以在here中找到。

也就是说,并不是必须要使用多个导航器,因为大多数这些选项都可以逐个屏幕地进行设置,但是当尝试最小化样板代码量时可能会有所帮助。