Я использую вложенную навигацию . Навигатор root - это StackNavigator
, а дочерний - DrawerNavigator
, насколько я знаю, нет способа поставить строку заголовка через DrawerNavigator
. Таким образом, я сделал это через StackNavigator
, но я не могу обновить заголовок, когда перемещаюсь по экрану в DrawerNavigator
. Как обновить заголовок заголовка в DrawerScreen
Root Навигатор:
<Stack.Navigator screenOptions={screenOptions} initialRouteName="Login">
<Stack.Screen name="Login" component={Login} />
// ...
<Stack.Screen // This is the screen that contains a child navigator
name="Main"
component={Main}
options={({navigation}) => ({
title: 'Main Page',
headerLeft: () => <MenuIcon stackNavigation={navigation} />,
})}
/>
</Stack.Navigator>
Дочерний навигатор:
<Drawer.Navigator>
//...
<Drawer.Screen
name="Bids"
component={Bids}
options={{
title: text.bids, // This updates the title that in the drawer navigator menu not the header bar title.
headerTitle: () => <SearchBar />, //Also this doesn't work I can not update header bar specific to a DrawerComponent.
}}
/>
//...
</Drawer.Navigator>
Я пытаюсь передать навигационную часть экрана стека на экраны ящиков, но не могу найти способ сделать это.
<Drawer.Screen
component={<Bids stackNavigation={navigation} />} // This does not compile :(
//...
/>
Я пытаюсь использовать setOptions:
const Bids = ({navigation}) => {
navigation.setOptions({title: 'Bids'});
//...
};
Но снова он обновляет заголовок в меню ящика, а не заголовок панели заголовка.
Как обновить панель заголовка с экрана ящика?