为什么我们有多个堆叠导航器



例如,此代码形成用于身份验证的react-navigation文档:

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',
}
));

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

如果您只考虑导航,那么没有真正的理由在另一个堆栈中使用一个堆栈导航器。

然而,有一些视觉原因可能需要使用不同的导航器——不同的转换、页眉布局和其他样式选项,所有这些都可以在这里找到。

也就是说,并不严格需要使用多个导航器,因为这些选项中的大多数都可以逐屏设置,但当试图最大限度地减少样板代码的数量时,这可能是有益的。

相关内容

最新更新