В 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' }); // ... }