React Native Navigation Header Hide

React Native Navigation Header Hide

React Native에서 NavigationHeader를 숨기는 방법에 대해 설명드리겠습니다.

설정 방법

우선 React NativeNavigation의 기본 설정은 여기를 참고하시기 바랍니다.

tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import * as React from 'react';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import Home from './src/views/Home';

const Stack = createStackNavigator();
const App = () => {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={Home} />
</Stack.Navigator>
</NavigationContainer>
);
};

export default App;

App.tsx의 설정은 공식 홈페이지의 docs를 참조하여 작성하였습니다. 처음 Navigation을 생성하게 되면 Header가 자동으로 생성됩니다. Header의 옵션을 추가하지 않으면 Stack.ScreennameHeaderTitle로 자동 설정됩니다.

따라서 위와 같이 HeaderTitleHome으로 설정된 것을 볼 수 있습니다. 하지만 메인 홈에서는 Header가 필요없는 경우도 있습니다.

tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import * as React from 'react';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import Home from './src/views/Home';

const Stack = createStackNavigator();
const App = () => {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={Home}
options={{headerShown: false}}
/>
</Stack.Navigator>
</NavigationContainer>
);
};

export default App;

Stack.Screen에서 optionsheaderShown: false옵션을 추가하면 Header를 제거할 수 있습니다.

headerShown: false옵션을 추가하면 위와 같이 Status bar아래에 Header가 없어진 것을 확인할 수 있습니다.

공유하기