screens/RootStack.tsx
import React from 'react'; import {createNativeStackNavigator} from '@react-navigation/native-stack'; import {RootStackParamList} from './types'; import MainTab from './MainTab'; import ArticleScreen from './ArticleScreen'; import RegisterScreen from './RegisterScreen'; import LoginScreen from './LoginScreen'; import MyArticlesScreen from './MyArticlesScreen'; const Stack <RootStackParamList>(); function () { return ( <Stack.Navigator screenOptions={{headerBackTitle: '닫기'}}> <Stack.Screen name="MainTab" component={MainTab} options={{headerShown false}} /> <Stack.Screen name="Register" component={RegisterScreen} options={{title: '회원가입'}} /> <Stack.Screen name="Login" component={LoginScreen} options={{title: '로그인'}} /> <Stack.Screen name="MyArticles" component={MyArticlesScreen} options={{title: '내가 쓴 글'}} /> <Stack.Screen name="Article" component={ArticleScreen} options={{title: '게시글'}} /> </Stack.Navigator> ); } export default RootStack;
RootStack에서 새 화면을 띄웠을 때, iOS에서는 탭에 어떤 화면이 열려 있었는지에 따라 뒤로가기 버튼이 있는 부분에 (화면 이름이 나타는 것이 아니라) MainTab이라는 이름이 보이게 됩니다. 이렇게 되면 부자연스러우니 iOS에서 뒤로가기 버튼의 텍스트를 ‘닫기’로 통일하겠습니다.