反应导航5,在第二个堆栈屏幕上隐藏底部的标签栏?

大灰烬

我正在开发一个具有堆栈导航和底部标签导航的应用程序,我需要在第一个堆栈屏幕中显示底部标签栏,而在第二个屏幕中则不显示。这是我的导航代码:

const BottomTab = createBottomTabNavigator();

const BottomTabNavigator = () => {
  return (
    <NavigationContainer>
      <BottomTab.Navigator>
        <BottomTab.Screen name='StackNavigation' component={StackNavigation} options={{
          tabBarButton: (props) => <BottomTabStyle label='home' {...props} />,
        }} />
        <BottomTab.Screen name='SecondTab' component={SecondTab} options={{
          tabBarButton: (props) => <BottomTabStyle label='shoppingBag' {...props} />,
        }} />
        <BottomTab.Screen name='Offers' component={Offers} options={{
          tabBarButton: (props) => <BottomTabStyle label='discount' {...props} />,
        }} />
        <BottomTab.Screen name='Profile' component={Profile} options={{
          tabBarButton: (props) => <BottomTabStyle label='profile' {...props} />,
        }} />
      </BottomTab.Navigator>
    </NavigationContainer>
  )
}

这是我的堆栈导航:

const StackNavigator = createStackNavigator();

const StackNavigation = () => {
  return (
    <StackNavigator.Navigator>
      <StackNavigator.Screen name="Home" component={Home} options={{ headerShown: false }} />
      <StackNavigator.Screen name="CardDetails" component={CardDetails} options={{ headerShown: false }} />
      <StackNavigator.Screen name="OfficeDetails" component={OfficeDetails} options={{ headerShown: false }} />
    </StackNavigator.Navigator>
  );
}

该代码有效,但仅适用于第一个堆栈导航和OfficeDetails页面,我需要隐藏我的标签栏。我怎样才能做到这一点?

万斯35

您必须将底部标签导航器作为组件传递给堆栈导航器,并默认情况下导出StackNavigation2。

const StackNavigator1 = createStackNavigator();

const StackNavigation1 = () => {
  return (
    <StackNavigator.Navigator>
      <StackNavigator.Screen name="Home" component={Home} options={{ headerShown: false }} />
      <StackNavigator.Screen name="CardDetails" component={CardDetails} options={{ headerShown: false }} />
    </StackNavigator.Navigator>
  );
}
const BottomTab = createBottomTabNavigator();

const BottomTabNavigator = () => {
  return (
    <NavigationContainer>
      <BottomTab.Navigator>
        <BottomTab.Screen name='StackNavigation1' component={StackNavigation1} options={{
          tabBarButton: (props) => <BottomTabStyle label='home' {...props} />,
        }} />
        <BottomTab.Screen name='SecondTab' component={SecondTab} options={{
          tabBarButton: (props) => <BottomTabStyle label='shoppingBag' {...props} />,
        }} />
        <BottomTab.Screen name='Offers' component={Offers} options={{
          tabBarButton: (props) => <BottomTabStyle label='discount' {...props} />,
        }} />
        <BottomTab.Screen name='Profile' component={Profile} options={{
          tabBarButton: (props) => <BottomTabStyle label='profile' {...props} />,
        }} />
      </BottomTab.Navigator>
    </NavigationContainer>
  )
}
const StackNavigator2 = createStackNavigator();

const StackNavigation2 = () => {
  return (
    <StackNavigator.Navigator>
      <StackNavigator.Screen name="BottomTabNavigator" component={BottomTabNavigator} options={{ headerShown: false }} />
      <StackNavigator.Screen name="OfficeDetails" component={OfficeDetails} options={{ headerShown: false }} />
    </StackNavigator.Navigator>
  );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法访问导航第二个屏幕中的导航栏

来自分类Dev

在Windows 8的第二个屏幕上但不在主屏幕上打开任务栏的自动隐藏

来自分类Dev

文字不会在第二个导航栏上对齐

来自分类Dev

如何在第二个猕猴桃屏幕上更新标签文本

来自分类Dev

屏幕上未显示第二个TableView

来自分类Dev

第二个屏幕上的JavaFX全屏

来自分类Dev

在第二个屏幕上放置WPF ContextMenu

来自分类Dev

标签栏视图只能在第二个屏幕应用程序中使用吗?

来自分类Dev

故事板上的第二个ViewController中无法访问iOS 8导航栏

来自分类Dev

导航栏上的下拉菜单显示在同一页面的第二个导航栏下

来自分类Dev

显示UINavigationController并在导航栏上方显示其他(第二个)标题

来自分类Dev

在登录屏幕上禁用第二个屏幕,但在登录完成后启用

来自分类Dev

在登录屏幕上禁用第二个屏幕,但在登录完成后启用

来自分类Dev

锁定屏幕,同时在第二个屏幕上继续播放视频

来自分类Dev

预览主屏幕中的第二个屏幕

来自分类Dev

我可以在第二个侧边栏中使用多个<aside>标签吗?

来自分类Dev

如何将第一个标签的第二个标签底部拟合为matplolib python

来自分类Dev

无法将第二个标签栏添加到标签栏控制器视图

来自分类Dev

onTouch始终显示对第二个事件的反应

来自分类Dev

Windows 10中的第二个屏幕上的WPF窗口对象被涂黑

来自分类Dev

Windows 8不记得要在第二个屏幕上投影

来自分类Dev

使用Mac OS 10.9 Mavericks在第二个屏幕上粘贴浮动蚀窗口

来自分类Dev

如何从本地屏幕上的Windows(使用Raspberry Pi)运行第二个用户会话?

来自分类Dev

在第二个屏幕上停用openbox桌面上下文菜单

来自分类Dev

如何在Apple笔记本电脑上显示第二个屏幕?

来自分类Dev

Android:View.inflate在屏幕上不显示第二个布局

来自分类Dev

KDE 面板在第二个屏幕上不完全可见

来自分类Dev

在按钮单击上隐藏并显示第二个表单

来自分类Dev

防止ToolStripMenuItems跳到第二个屏幕

Related 相关文章

  1. 1

    无法访问导航第二个屏幕中的导航栏

  2. 2

    在Windows 8的第二个屏幕上但不在主屏幕上打开任务栏的自动隐藏

  3. 3

    文字不会在第二个导航栏上对齐

  4. 4

    如何在第二个猕猴桃屏幕上更新标签文本

  5. 5

    屏幕上未显示第二个TableView

  6. 6

    第二个屏幕上的JavaFX全屏

  7. 7

    在第二个屏幕上放置WPF ContextMenu

  8. 8

    标签栏视图只能在第二个屏幕应用程序中使用吗?

  9. 9

    故事板上的第二个ViewController中无法访问iOS 8导航栏

  10. 10

    导航栏上的下拉菜单显示在同一页面的第二个导航栏下

  11. 11

    显示UINavigationController并在导航栏上方显示其他(第二个)标题

  12. 12

    在登录屏幕上禁用第二个屏幕,但在登录完成后启用

  13. 13

    在登录屏幕上禁用第二个屏幕,但在登录完成后启用

  14. 14

    锁定屏幕,同时在第二个屏幕上继续播放视频

  15. 15

    预览主屏幕中的第二个屏幕

  16. 16

    我可以在第二个侧边栏中使用多个<aside>标签吗?

  17. 17

    如何将第一个标签的第二个标签底部拟合为matplolib python

  18. 18

    无法将第二个标签栏添加到标签栏控制器视图

  19. 19

    onTouch始终显示对第二个事件的反应

  20. 20

    Windows 10中的第二个屏幕上的WPF窗口对象被涂黑

  21. 21

    Windows 8不记得要在第二个屏幕上投影

  22. 22

    使用Mac OS 10.9 Mavericks在第二个屏幕上粘贴浮动蚀窗口

  23. 23

    如何从本地屏幕上的Windows(使用Raspberry Pi)运行第二个用户会话?

  24. 24

    在第二个屏幕上停用openbox桌面上下文菜单

  25. 25

    如何在Apple笔记本电脑上显示第二个屏幕?

  26. 26

    Android:View.inflate在屏幕上不显示第二个布局

  27. 27

    KDE 面板在第二个屏幕上不完全可见

  28. 28

    在按钮单击上隐藏并显示第二个表单

  29. 29

    防止ToolStripMenuItems跳到第二个屏幕

热门标签

归档