反应导航tabBarVisible:false不适用于TabNavigator中的StackNavigator

Jav*_*ies 5 javascript react-native react-navigation

我完全困惑要实现以下内容,这工作正常,但无法隐藏EditPage和PageTwo的标签栏

  • 登录
  • 注册
  • TabNavigator(TabNavigator)
    • 第一标签
    • SecondTab(StackNavigator)
      • 列表页
      • 编辑页面
    • ThirdTab(StackNavigator)
      • 第一页
      • 第二页
    • 设定值

下面是我的配置。

import { createStackNavigator, createSwitchNavigator, createBottomTabNavigator } from 'react-navigation';
//Other required imports here

const SignedOut = createStackNavigator({
  Signup: { screen : Signup},
  Login: { screen : Login}
});

const SignedIn = createBottomTabNavigator({
    Dashboard: {
      screen: Dashboard
    },
    Rewards: {
      screen: createStackNavigator({
        Rewards:{
          screen: Rewards,
          navigationOptions:{
            header:null
          }
        },
        AddReward:{
          screen: AddReward,
          navigationOptions:{
            header:null,
            tabBarVisible: false
          }
        }
      })
    },
    Activities: {
      screen: createStackNavigator({
        Rewards:{
          screen: Activities,
          navigationOptions:{
            header:null
          }
        },
        NewActivity:{
          screen: NewActivity,
          navigationOptions:{
            header:null,
            tabBarVisible: false
          }
        }
      })
    },
    Settings: {
      screen: Settings
    }
},{
  tabBarComponent: ({navigation}) => <FooterComponent navigation={navigation} />,
  tabBarPosition: 'bottom',
  animationEnabled: false,
  swipeEnabled: false
});

export const createRootNavigator = (signedIn) => {
    return createSwitchNavigator(
        {
            SignedIn: {
                screen: SignedIn
            },
            SignedOut: {
                screen: SignedOut
            }
        },
        {
            initialRouteName: (signedIn) ? "SignedIn" :"SignedOut",
            headerMode: 'none'
        }
    );
};
Run Code Online (Sandbox Code Playgroud)

问题

  • 我无法隐藏AddRewardNewActivity的标签栏
  • tabBarVisible: false 在TabNavigator中对StackNavigator不起作用

谢谢

san*_*jar 3

您可以将一个 StackNavigator 用于所有堆栈,并将 TabNavigator 设置为默认路由:

  • 切换导航器
    • 登录
    • 报名
    • 堆栈导航器
      • 标签导航器
        • 第一个选项卡
        • 列表页
        • 设置
      • 编辑页面
      • 第二页