Как обновить панель заголовка с экрана ящика - PullRequest
2 голосов
/ 22 апреля 2020

Я использую вложенную навигацию . Навигатор 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'});
  //...
};

Но снова он обновляет заголовок в меню ящика, а не заголовок панели заголовка.

Как обновить панель заголовка с экрана ящика?

...