соединение MaterialBottomTabNavigator и других экранов, не входящих в его состав - PullRequest
1 голос
/ 24 октября 2019

Итак, я работаю над MaterialBottomTabNavigator и у меня возникла небольшая проблема. У меня есть 4 экрана на нем. Код такой, как показано ниже:

const bottomNavigator = createMaterialBottomTabNavigator(
    {
        home: {
            screen: HomeScreen,
            navigationOptions : {
                tabBarIcon: <Icon type="FontAwesome" name="home" style={{color:'#fff'}}  />, 
                title:'Home',
            }
        }


    trending: {
        screen: TrendingScreen,
        navigationOptions : {
            tabBarIcon: <Icon type="FontAwesome" name="fire" style={{color:'#fff'}}  />, 
            title:'Trending'
        }
    },
    profile: {
        screen: ProfileScreen,
        navigationOptions : {
            tabBarIcon: <Icon type="FontAwesome" name="id-badge" style={{color:'#fff'}}  />, 
            title:'Profile'
        }
    },

    settings: {
        screen:  SettingsScreen ,
        navigationOptions : {
            tabBarIcon: <Icon type="FontAwesome" name="cog" style={{color:'#fff'}}  />, 
            title:'Settings'
        }
    }
},

{
  initialRouteName: 'home',
  activeColor: '#f0edf6',
  inactiveColor: '#3e2465',
  barStyle: { backgroundColor: UI_COLORS['foxy'] },
}
  );

Теперь я могу отправлять информацию между этими экранами прямо. HomeScreen, TrendingScreen, ProfileScreen, но проблема, которую я получаю, заключается в том, что мне приходится открывать другой экран, который не является его частью. Как мне перейти к экрану, сказать «DiffScreen» с любого из этих экранов. т.е. предположим, что я на HomeScreen, и я хочу перейти на 'DiffScreen', который не является частью bottomNavigator. Любая помощь, как я могу добраться до этого экрана? Что-то вроде this.props.navigation.navigate('DiffScreen') или что-то в этом роде. Я просто ощущаю здесь немного избыточности, но было бы лучше, если бы я мог обойтись без него.

...