Я новичок в react-navigation и пытаюсь оборачивать голову тем, как сделать следующее:
Учитывая эту навигационную структуру:
RootTabNavigator
LoggedOut_StackNavigator
...
LoggedIn_StackNavigator
LoggedIn_TabNavigator <-- TabBar rendered by this Navigator
TabA_StackNavigator
ScreenA
ScreenB
Я хотел бы иметь возможность перемещаться от ScreenA до ScreenB, используя типичный переход "сползать вправо", таким образом, чтобы TabBar был показан на ScreenA, но не отображается на ScreenB. Другими словами, когда я перехожу к ScreenB, я хочу, чтобы он занял все окно.
Как только пользователь перейдет от ScreenA до ScreenB, он может либо нажать кнопку "Назад", чтобы вернуться к ScreenA, либо перейти к новым маршрутам, используя тот же переход с TabBar still not.
Что я пробовал:
-
navigationOptions.tabBarVisible: это свойство работает только при применении кTabA_StackNavigator, что означает, что все экранов в стеке также скрываютTabBar. Добавление его к экранам внутри StackNavigator не имеет эффекта. -
Добавив новый
AllScreens_StackNavigatorв качестве брата изLoggedIn_TabNavigatorи перейдя на маршруты внутри этого навигатора, я получаю сообщение об ошибке:Expect nav state to have routes and index, {"routeName":"ScreenB", "params": {}, "key": "init-id-1516..."}. Навигационное действие, которое я отправил, чтобы попытаться сделать это:{ "action": Object { "params": Object {}, "routeName": "ScreenB", "type": "Navigation/NAVIGATE", }, "params": Object {}, "routeName": "AllScreens_StackNavigator", "type": "Navigation/NAVIGATE", }
Любая помощь очень ценится!