Возможно, вы захотите рассмотреть SwitchNavigator
для потока аутентификации вместо Stack at the top
, так как он заменяет маршруты, так что вы никогда не сможете вернуться к входу в систему / регистрации / всплеску после входа в приложение и для доступа к вкладкам.и Drawer внутри стека / переключателя, вы можете обернуть Drawer внутри навигатора верхнего уровня и вкладку внутри ящика.
Таким образом, ваша корневая навигация будет выглядеть следующим образом.
export default RootNavigation = createSwitchNavigator({
LoginScreen: {screen: LoginContainer},
Application: {screen: AppDrawer},
});
Навигатор вашего ящикадолжно выглядеть следующим образом:
const AppDrawer = createDrawerNavigator({
ApplicationTab: {screen: TabBar},
... other screen that you might want to use in drawer navigation.
}, {
contentComponent : (props) => <MyCustomDrawer {...props} />
});
и Tab Navigator будет иметь вид
const TabBar = createBottomTabNavigator({
TabScreen1: {screen: Tab1},
... other tabs...
}, {
tabBarComponent : (props) => <MyTabBar {...props} />
});
Если вы поместите каждый из этих навигаторов в один файл, пожалуйста, объявите Tab передЯщик и ящик перед коммутатором, иначе это может привести к ошибкам.
По моему опыту, настройка навигатора ящиков очень проста и полезна, но настройка вкладки - нет, для того же документа нет соответствующего документа API.и ответы сообщества также несколько вводят в заблуждение.НО, с обычными вариантами использования и для большинства ярких тоже, вы можете выполнять свою работу без необходимости переопределять заданный по умолчанию, так как он уже очень работоспособен и настраивается с точки зрения значков, материализма, и каждая вкладка выставляет свою на onPress
это также может быть легко переопределено.
и так как вы, как выдвижной ящик, не работаете с / через жатку, то можете ли вы убедиться, что navigation
опора, которую вы используете для управления выдвижным ящиком open
close
или toggle
действие дается выдвижным ящиком?