Реагировать на навигацию, закрыть ящик, щелкнуть нижнюю вкладку - PullRequest
0 голосов
/ 08 января 2020

У меня есть react navigation, как указано ниже. Выдвижной ящик можно закрыть, если нажать снаружи на компонент выдвижного ящика. (Но не тогда, когда я нажимаю на bottom navigator tabs part). Как я могу закрыть ящик, когда нажимаю на нижнюю панель навигации?

const HomeFilterDrawer = createDrawerNavigator(
  {
    Home: {
      screen: HomeScreen,
      navigationOptions: ({navigation}) => ({
        header: null,
      }),
    },
  },
  {
    initialRouteName: 'Home',
    contentComponent: DrawerComponent,
    drawerPosition: 'right',
  },
);

const HomeScreenStack = createStackNavigator(
  {
    Home: {
      screen: HomeFilterDrawer,
      navigationOptions: ({navigation}) => ({
        header: null,
      }),
    },
    Search: {
      ...
    },
  }
);

const AppNavigator = createBottomTabNavigator(
    Home: {
      screen: HomeScreenStack,
      navigationOptions: {
        tabBarLabel: 'Home,
        tabBarIcon: tabInfo => {
          return (
            <Ionicons name="ios-home" size={25} />
          );
        },
        tabBarOnPress: ({navigation}) => {
          navigation.popToTop();
          navigation.navigate(navigation.state.routeName);
        },
      },
    },
);

enter image description here

1 Ответ

0 голосов
/ 08 января 2020

Вы пытались закрыть ящик, используя DrawerActions?

import { DrawerActions } from '@react-navigation/routers';
// ...

// in tabbaronPress call the following
navigation.dispatch(DrawerActions.closeDrawer());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...