Как скрыть заголовок навигации стека с одного экрана в react-navigation v6

#react-native #react-navigation

Вопрос:

Я использую навигацию по стеку версии 5, мне нужны заголовки для всех экранов, кроме одного экрана, я пытался сделать это с помощью опции внутри экранов, как это:

Это мой код:

 const Stack = createStackNavigator();

const AppStackNavigator = (props) => {
  return (
    <Stack.Navigator screenOptions={{ swipeEnabled: false, headerShown: false }}>
      <Stack.Screen name="Start" component={Start} options={{ headerShown: false }} />
      <Stack.Screen name="Home" component={Home} options={{ headerShown: false }} />
      <Stack.Screen name="Welcome" component={Welcome} options={{ headerShown: false }} />
      <Stack.Screen name="SignUp" component={SignUp} options={{ headerShown: false }} />
      <Stack.Screen name="Login" component={Login} options={{ headerShown: false }} />
      <Stack.Screen name="ForgotPassword" component={ForgotPassword} options={{ headerShown: false }} />
      <Stack.Screen name="FavouriteCuisines" component={FavouriteCuisines} options={{ headerShown: false }} />
      <Stack.Screen name="Chef" component={Chef} options={{ headerShown: false }} />
    </Stack.Navigator>
  );
}

export { AppStackNavigator }
 

Ответ №1:

Ваш ответ уже содержится в самом коде, просто удалите все заголовки: false, кроме того, который вы хотите видеть, заголовки Отображаются на экране:

 <Stack.Screen name="Chef" component={Chef} options={{ headerShown: false }} />
 

Для любого экрана, если вы хотите скрыть заголовок, просто добавьте заголовок: false в настройках, по умолчанию для других заголовков будет значение true.