Вы отключили вложение ваших навигаторов.Под этим я подразумеваю, что вы визуализируете свой HomeApp
внутри компонента, который является экраном вашего основного стека.Таким образом, в вашем главном стеке нет ни одного экземпляра навигационного объекта ящика, который может переключать ящик.
Отредактировано: navigation
объект, который вы получаете от navigationOptions
,только для стекового навигатора.
Что вам нужно сделать, так это вставить свой ящик в свой стек и сделать домашний экран первым экраном навигатора.Код должен выглядеть следующим образом:
const AppNavigator = createStackNavigator({
MyDrawer : {
screen: MyFancyDrawer,
},
Details: {
screen: DetailsScreen,
},
},
{
initialRouteName: 'MyDrawer',
defaultNavigationOptions: {
headerStyle: {
backgroundColor: '#6B8E23',
},
headerTintColor: '#fff',
}
}
);
, и ваш ящик должен быть:
const MyDrawerNavigator = createDrawerNavigator({
HomeScreen: {
screen: Home
},
Bill: {
screen: BillScreen,
},
Payment: {
screen: PaymentScreen,
},
});
Хотя тогда ваш Дом должен быть сначала сам по себе стеком, поскольку по умолчанию нет header
опция в navigationOption
для навигатора.или, если вы не хотите сделать Home еще одним стеком, то создайте свой заголовок как собственный компонент в render()
из Home.
Надеюсь, что это поможет.Удачного кодирования:)