перестала работать tabBarOnPress реакции-навигации 3.3.2 - PullRequest
0 голосов
/ 05 марта 2019

После обновления до реакции-навигации 3.3.2 tabBarOnPress больше не срабатывает.Фрагмент кода ниже.Есть идеи?

const Tabs = createBottomTabNavigator(
  {
    HomeStack,
    WallStack,
    MemeStack,
  },
  {
    navigationOptions: ({navigation}) => ({
      tabBarOnPress: () => {
        console.log('tab pressed');
      }
    })

  }
);

export default DrawerNav = createDrawerNavigator({
  Tabs: Tabs
},{
  drawerBackgroundColor: Colors.grayDark,
  contentComponent: Sidebar
})

1 Ответ

0 голосов
/ 15 июня 2019

tabBarOnPress работает, но я использую его вот так.Вам нужно передать его как свойство каждого стека.(не забудьте вызвать defaultHandler, чтобы сохранить поведение по умолчанию:

const DashboardStack = createStackNavigator(
  {
    Dashboard,
  }
);

DashboardStack.navigationOptions = {
  tabBarOnPress({ navigation, defaultHandler }) {
    // do something
    defaultHandler();
  },
};

const ProfileStack = createStackNavigator(
  {
    Profile,
    AccountInfo,
    Membership,
    Browser,
    ConnectedAccounts,
  }
);

ProfileStack.navigationOptions = {
  tabBarOnPress({ navigation, defaultHandler }) {
    // do something
    defaultHandler();
  },
};

const SpendingStack = createStackNavigator(
  {
    Budget,
    Transactions,
  }
);

SpendingStack.navigationOptions = {
  tabBarOnPress({ navigation, defaultHandler }) {
    // do something
    defaultHandler();
  },
};

export default createBottomTabNavigator(
  {
    SpendingStack,
    DashboardStack,
    ProfileStack,
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...