Как использовать кнопку навигации внутри createBottomTabNavigator - PullRequest
0 голосов
/ 07 января 2019

Я использую createBottomTabNavigator и из-за этого я не могу добавить функцию навигации к кнопке. т.е. я хотел бы использовать createBottomTabNavigator и также createStackNavigator для создания маршрутов

App.js

import AppNavigator from './navigation/AppNavigator';
...
render() {
 <AppNavigator />
}


AppNavigator.js
import React from 'react';
import { createAppContainer, createSwitchNavigator } from 'react-navigation';

import MainTabNavigator from './MainTabNavigator';

export default createAppContainer(createSwitchNavigator({
  Main: MainTabNavigator,
}));



MainTabNavigator.js
import TabBarIcon from '../components/TabBarIcon';
import HomeScreen from '../screens/HomeScreen';
import LinksScreen from '../screens/LinksScreen';
import SettingsScreen from '../screens/SettingsScreen';
import ColaboradorScreen from '../screens/ColaboradorScreen';

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

HomeStack.navigationOptions = {
  tabBarLabel: 'Home',
  tabBarIcon: ({ focused }) => (
    <TabBarIcon
      focused={focused}
      name={
        Platform.OS === 'ios'
          ? `ios-information-circle${focused ? '' : '-outline'}`
           : 'md-information-circle'
      }
    />
  ),
};

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

LinksStack.navigationOptions = {
  tabBarLabel: 'Links',
  tabBarIcon: ({ focused }) => (
    <TabBarIcon
      focused={focused}
      name={Platform.OS === 'ios' ? 'ios-link' : 'md-link'}
    />
  ),

};

const SettingsStack = createStackNavigator({
  Settings: SettingsScreen,
});

SettingsStack.navigationOptions = {
  tabBarLabel: 'Settings',
  tabBarIcon: ({ focused }) => (
    <TabBarIcon
      focused={focused}
      name={Platform.OS === 'ios' ? 'ios-options' : 'md-options'}
    />
  ),
};

экспорт по умолчанию createBottomTabNavigator ({ HomeStack, LinksStack, SettingsStack,
});

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

На экране моего домашнего экрана у меня есть как сделать кнопку

<Button
title="Open C"
onPress={() => navigate('Colaborador')}
/>

Как мне получить кнопку для загрузки ContributorScreen?

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