我想隐藏主堆栈导航器的标题

时间:2020-07-24 05:51:17

标签: javascript reactjs react-native react-navigation

const auth是我的主要导航器,在其中我调用所有其他3个堆栈导航器。问题在于此主堆栈导航器具有其自己的标头,而我在应用程序的其他页面中使用了自己的自定义标头。现在的问题是我的应用程序显示了来自主堆栈导航器的两个标题1和来自我的自定义导航器的第二个标题,我找不到任何解决此问题的好方法,请提出我的建议

const authSwitch = createStackNavigator ({
  navigationOptions:{
    headerShown:false
  },
    SignInStack : createStackNavigator({
      Login :  { screen: LoginScreen,
      navigationOptions:{
        header:null,
      }},
      Home :  { screen: HomeScreen, navigationOptions: { header: null }},
    }),
    
    SignUpStack :  createStackNavigator({
      MobileCheck :  { screen: MobileCheck,navigationOptions:{header:null}},
      VerifyCode :  { screen: VerifyCode},
      Login :  { screen: LoginScreen},
      Home :  { screen: HomeScreen},

  }),
    ForgotPasswordStack : createStackNavigator({
        MobileCheckFP : {screen:MobileCheckFP,navigationOptions:{header:null}},   //enter mobile no 
        ForgotPassword : ForgotPassword,  //enter OTP , new pass and confirm pass
        Login : LoginScreen,
        Home : HomeScreen,
    })
});

1 个答案:

答案 0 :(得分:0)

您将不得不在导航器级别使用headerMode:'none'

const authSwitch = createStackNavigator (
  {
   SignInStack : createStackNavigator({
      Login :  { screen: LoginScreen,
      navigationOptions:{
        headerShown: false,
      }},
      Home :  { screen: HomeScreen, navigationOptions: { headerShown: false }},
    }),
    
    SignUpStack :  createStackNavigator({
      MobileCheck :  { screen: MobileCheck,navigationOptions:{ headerShown: false }},
      VerifyCode :  { screen: VerifyCode},
      Login :  { screen: LoginScreen},
      Home :  { screen: HomeScreen},

  }),
    ForgotPasswordStack : createStackNavigator({
        MobileCheckFP : {screen:MobileCheckFP,navigationOptions:{ headerShown: false }},   //enter mobile no 
        ForgotPassword : ForgotPassword,  //enter OTP , new pass and confirm pass
        Login : LoginScreen,
        Home : HomeScreen,
    })
  },
  {
    headerMode: 'none',
  }
);

我无法通过添加屏幕来进行测试,但这应该可以工作。