在React Native的特定页面上禁用幻灯片菜单[抽屉]

时间:2019-07-09 12:16:33

标签: android ios react-native navigation navigation-drawer

我仍然是初学者。

我正在开发一个包含幻灯片菜单[抽屉]的应用。

我想在几页上禁用该抽屉。

在我的应用中,我创建了两个StackNavigator [第一个-HomeNavigator1,第二个-HomeNavigator]

const HomeNavigator1 = createStackNavigator({

  Start: {
      screen: StartScreen
    },

    Login: {
      screen: LoginScreen
    },
    Register: {
      screen: RegisterScreen
    },
    ForgetPass: {
      screen: ForgetPassScreen
    },

});

const HomeNavigator = createStackNavigator(

{ 
  HomeScreen: {
    screen: HomeScreen,
    navigationOptions: ({navigation}) => ({
    headerLeft: leftIcon(navigation, 'md-menu')
  })
  },
  WorkoutsScreen: {
    screen: WorkoutsScreen
  },
}, navigationOptions

);

最后,我创建了DrawerNavigator [在此处合并2个堆栈导航器]

const RootStack = createDrawerNavigator({

  Start:
  {
    screen:HomeNavigator1,
  },
  Home: 
  {
    screen: HomeNavigator,
  }
}, 
//created one other file named SideMenu which contains items of drawer menu
{
  contentComponent: SideMenu,
  drawerWidth: width * .7,
  drawerOpenRoute: 'DrawerOpen',
  drawerCloseRoute: 'DrawerClose',
  drawerToggleRoute: 'DrawerToggle',
}

);

注意:整个代码在单个文件中

我的问题或疑问

如何禁用HomeNavigator1的幻灯片菜单[抽屉] [用于4个屏幕的启动,登录,注册和忘记密码]?

请指导并帮助我解决此问题。

感谢您贡献宝贵的时间

1 个答案:

答案 0 :(得分:1)

您可以从路线中禁用手势。

Start:
  {
    screen:HomeNavigator1,
    navigationOptions: {
        gesturesEnabled: false,
    }
  },

或者到您的屏幕:

Login: {
      screen: LoginScreen,
      navigationOptions: {
            gesturesEnabled: false,
      }
    }

但这不是解决此问题的最佳方法。