Как отключить ящик от реакции навигации для определенного экрана - PullRequest
0 голосов
/ 19 февраля 2019

Я видел много статей о переполнении стека, в которых предлагается, как это сделать, однако я попробовал все из них, и ни одна из них, похоже, не работает для моего случая.

mytarget: , чтобы иметь возможность отключить ящик на всех моих экранах, кроме моего JobFeedScreen.

Что я уже сделал: pocketLockMode: «закрыто-закрыто», «выдвигается»: я также пытался вывести его на экран, используя

static navigationOptions = ({ navigation }) => {
    const { state } = navigation;
        const {} = state;
        return {  
          header: null,
          drawerLockMode: 'locked-closed' ( or drawerLockMode: 'locked-open')
        };

}

вот мои коды

для моего ящика AppNavigation.js

//DRAWER NAVIGATOR
const DrawerNav = createDrawerNavigator({
JobFeed: {
screen: JobFeedScreenStack,
navigationOptions: ({navigation})=>({
  drawerLabel: 'Job Feed',
  drawerIcon: ({ tintColor }) => (
    <SimpleLineIcons name="briefcase" size={ Metrics.icons.tiny } color={Colors.heavyGray} />
  )
})
},
NotificationScreen: {
screen: NotificationScreenStack,
navigationOptions: {
  drawerLabel: 'Notifications',
  drawerIcon: ({ tintColor }) => (
    <Entypo name = "notification" size = {15} color = {Colors.heavyGray} tintColor={Colors.white}/>  )  
}
},
ApplicationsFeed: {
screen: ApplicationScreenStack,
navigationOptions: {
  drawerLabel: 'Applications',
  drawerIcon: ({ tintColor }) => (
    <Foundation name = "clipboard-notes" size = {15} color = {Colors.heavyGray} tintColor={Colors.white}/>  ) 
}
},



},
{
  initialRouteName: 'JobFeed',
  drawerPosition: 'left',
  contentComponent: CustomDrawerComponent,
  drawerType: 'slide',
  drawerLockMode: 'locked-closed',
});

другие коды в AppNavigation.js:

    // Manifest of possible screens
const AuthStackNavigation = createStackNavigator({
  LaunchScreen: { 
     screen: LaunchScreen, 
  },
  JobFeedScreen: {
    screen: JobFeedScreen,
  },
  FilterScreen: {
    screen: FilterScreen,
  },
  NotificationScreen: {
    screen: NotificationScreen,
  },
  ApplicationScreen: {
    screen: ApplicationScreen,
  }
}, 
{
  // Default config for all screens
  initialRouteName: 'JobFeedScreen',
})

     //JOB FEED SCREEN
 const JobFeedScreenStack = createStackNavigator({
   JobFeedScreen: {
     screen: JobFeedScreen,
  },
 })

//LAUNCH SCREEN
const LaunchScreenStack = createStackNavigator({
  LaunchScreen: LaunchScreen,
})

//NOTIFICATION SCREEN
const NotificationScreenStack = createStackNavigator({
  NotificationScreen: NotificationScreen,
})

//APPLICATION SCREEN
const ApplicationScreenStack = createStackNavigator({
  ApplicationScreen: ApplicationScreen,
})

//FILTER SCREEN
const FilterScreenStack = createStackNavigator({
  FilterScreen: FilterScreen
})

// MAIN NAVIGATION
const MainNavigation = createSwitchNavigator({
DrawerNav: DrawerNav,
AuthStackNavigation: AuthStackNavigation, 
})

export default createAppContainer(MainNavigation)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...