Я решил исправить свою проблему.По-видимому, мне нужно было поместить свой bottomTabNavigator в стекавигатор, который затем можно было бы поместить в DrawerNavigator.
Я попытался сделать код настолько плотным, насколько это возможно, на тот случай, если кто-нибудь еще получитта же проблема, что и я.
Заголовок и экран (ы)
const Header = () => <View style={{height: 50, width: '100%', backgroundColor: 'yellow'}}></View>
const Screen = ({color, navigation}) => {
return (
<View style={{flex: 1, backgroundColor: color}}>
<TouchableOpacity onPress={() => navigation.toggleDrawer()}>
<View style={{backgroundColor: 'white', width: 50, height: 50}}></View>
</TouchableOpacity>
</View>
);
}
BottomTabNavigator и StackNavigator
const Bottom = createBottomTabNavigator(
{
ScreenOne: {
screen: props => <Screen color='green' {...props} />
},
ScreenTwo: {
screen: props => <Screen color='yellow' {...props} />
}
},
{
initialRouteName: 'ScreenOne',
tabBarOptions: {
activeTintColor: "blue",
inactiveTintColor: "grey",
},
navigationOptions: {
header: () => <Header />
}
});
const Main = createStackNavigator(
{
BottomTab: Bottom
});
DrawerNavigator и AppContainer
const DrawerNavigator = createDrawerNavigator(
{
MainFlow: {
screen: Main,
navigationOptions: {
header: null
}
}
},
{
hideStatusBar: false,
drawerType: 'slide',
drawerBackgroundColor: 'rgba(255,255,255,.9)',
overlayColor: 'rgba(0,0,0,0)',
drawerLockMode: 'locked-open',
contentOptions: {
activeTintColor: '#fff',
activeBackgroundColor: '#6b52ae',
},
navigationOptions: {
header: null
}
});
export const AppContainer = createAppContainer(DrawerNavigator);