В React Native свойство headerShownиспользуется для управления видимостью заголовка в компоненте экрана в стеке навигации. Если установлено значение false, заголовок будет скрыт, а если установлено значение true, заголовок будет отображаться.
Вот несколько методов управления свойством headerShownв React Native:
-
Настройка
headerShownв навигаторе стека:<Stack.Navigator> <Stack.Screen name="Home" component={HomeScreen} options={{ headerShown: false }} /> </Stack.Navigator> -
Настройка
headerShownв компоненте экрана:function HomeScreen({ navigation }) { navigation.setOptions({ headerShown: false }); // ... } -
Условная установка
headerShownна основе реквизитов экрана:function HomeScreen({ navigation, route }) { navigation.setOptions({ headerShown: route.params.headerVisible }); // ... } -
Использование хука
useLayoutEffectдля динамического переключенияheaderShown:import { useLayoutEffect } from 'react'; function HomeScreen({ navigation }) { useLayoutEffect(() => { navigation.setOptions({ headerShown: false }); }, [navigation]); // ... } -
Динамическое обновление
headerShownво время переходов навигации:import { useNavigationState } from '@react-navigation/native'; function HomeScreen() { const navigation = useNavigation(); const currentRoute = useNavigationState(state => state.routes[state.index]); navigation.setOptions({ headerShown: currentRoute.name !== 'Home' }); // ... }