【发布时间】:2018-06-26 08:22:49
【问题描述】:
我是 react-navigation 的新手,我想了解如何执行以下操作:
鉴于此导航结构:
RootTabNavigator
LoggedOut_StackNavigator
...
LoggedIn_StackNavigator
LoggedIn_TabNavigator <-- TabBar rendered by this Navigator
TabA_StackNavigator
ScreenA
ScreenB
我希望能够使用典型的“从右侧滑入”过渡从ScreenA 导航到ScreenB,这样TabBar 在@ 上可见 987654326@,但在ScreenB 上不可见。换句话说,当我导航到ScreenB 时,我希望它占据整个窗口。
一旦用户从ScreenA 转换到ScreenB,他们可以按返回按钮返回到ScreenA,或者使用与TabBar 相同的转换导航到新路线不可见。
我的尝试:
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", }
非常感谢任何帮助!
【问题讨论】:
-
能否请您为您的导航器发布代码?
-
要达到你想要的,你应该把你的新路由推送到LoggedIn_StackNavigator的导航器。
标签: reactjs react-native navigation react-navigation