Реагировать навигационная вкладка BarOnPress - PullRequest
0 голосов
/ 29 августа 2018

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

Когда я устанавливаю tabBarOnPress, он не будет перемещаться, но будет выполнять событие, и если я его не установлю, я не знаю, как вызвать событие.

import { createStackNavigator, createBottomTabNavigator } from 'react- 
navigation';

import HomeScreen from '../screens/HomeScreen';
import LinksScreen from '../screens/LinksScreen';
import {
  AdMobInterstitial,
} from 'react-native-admob';

AdMobInterstitial.setAdUnitID('ca-app-pub-2821491096541440/1777616101');

const HomeStack = createStackNavigator({
  Home: HomeScreen,
});

HomeStack.navigationOptions = {
  tabBarLabel: 'Apps recomendadas',
  tabBarOnPress: () => {
   this.somevent();
  },
};

const LinksStack = createStackNavigator({
  Links: LinksScreen,
});

LinksStack.navigationOptions = {
  tabBarLabel: 'FAQ',
  tabBarOnPress: () => {
     this.somevent();
  },
};

export default createBottomTabNavigator({
  HomeStack,
  LinksStack
},);

1 Ответ

0 голосов
/ 02 апреля 2019

У меня была такая же проблема, как и у вас, но этот код работал для меня

tabBarOnPress: ({ navigation, defaultHandler }) => {
        console.log('onPress:', navigation.state.routeName);
        defaultHandler()
      },

Если я не смог включить defaultHandler(), экран не перемещается, чтобы отобразить выбранный маршрут, а просто выполняет только оператор console.log

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