Expo ์ต์ ํ๋ก์ ํธ์ App.js๊ฐ ์๋ ์ด์
React Native + Expo ๊ฐ๋ฐ์ ์ฒ์ ์์ํ ๋ ๋๋ถ๋ถ App.js ํ์ผ์ ์ด์ด์ ํ๋ฉด์ ์์ ํ๊ณค ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ต๊ทผ Expo CLI(create-expo-app)๋ก ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ฉด, ๋ฃจํธ์ App.js๊ฐ ๋ณด์ด์ง ์์ ๋นํฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
์ด๋ฒ ๊ธ์์๋ ์ App.js๊ฐ ์ฌ๋ผ์ก๋์ง, ๊ทธ๋ฆฌ๊ณ ๋์ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
1. ์์ Expo ํ๋ก์ ํธ ๊ตฌ์กฐ
๊ธฐ์กด Expo(๊ตฌ๋ฒ์ ) ํ ํ๋ฆฟ์ ๋ฃจํธ์ App.js ํ์ผ์ด ์์๊ณ , ์ฌ๊ธฐ์ ์ฑ์ ์์์ ์ ๊ด๋ฆฌํ์ต๋๋ค.

๋ชจ๋ ํ๋ฉด์ App.js์์ ๋ค๋น๊ฒ์ด์ ์ ์ค์ ํ๊ฑฐ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฌ์์ ๊ตฌ์ฑํ์ต๋๋ค.
2. ์๋ก์ด Expo ํ๋ก์ ํธ ๊ตฌ์กฐ
Expo 49 ๋ฒ์ ์ดํ๋ถํฐ๋ expo-router๊ฐ ๊ธฐ๋ณธ ํฌํจ๋ ํ
ํ๋ฆฟ์ด ์ ๊ณต๋ฉ๋๋ค.
์ด์ ๋ ๋ฃจํธ์ App.js๊ฐ ์๊ณ , app/ ๋๋ ํ ๋ฆฌ๋ฅผ ์ค์ฌ์ผ๋ก ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ
์ ์ฌ์ฉํฉ๋๋ค.
์์ ๊ตฌ์กฐ:

์ฌ๊ธฐ์ ์ค์ํ ์ ์:
- app/_layout.tsx → ์ฑ ์ ์ฒด์ ๊ณตํต ๋ ์ด์์
- app/(tabs)/_layout.tsx → ํญ ๋ค๋น๊ฒ์ด์ ์ค์ (BottomTabNavigator ์ญํ )
- app/(tabs)/index.tsx → ํญ์ ์ฒซ ํ๋ฉด (์์ App.js์ฒ๋ผ ์์ ํ๋ฉด ์ญํ )
- app/(tabs)/explore.tsx → ๋ ๋ฒ์งธ ํญ ํ๋ฉด
- app/modal.tsx → ๋ชจ๋ฌ ํ๋ฉด
์ฆ, ์ด์ ๋ App.js ๋์ ํด๋์ ํ์ผ ์ด๋ฆ์ด ๊ณง ๋ผ์ฐํ ๊ฒฝ๋ก๊ฐ ๋ฉ๋๋ค.
3. ์ฒซ ํ๋ฉด ์์ ํ๊ธฐ
์์ ์ฒ๋ผ App.js๋ฅผ ์ด ์๋ ์์ง๋ง, ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ด๋ ค๋ฉด app/(tabs)/index.tsx๋ฅผ ์์ ํ๋ฉด ๋ฉ๋๋ค.
// app/(tabs)/index.tsx
import { View, Text } from "react-native";
export default function HomeScreen() {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text>Hello Expo Router!</Text>
</View>
);
}
์ด๋ ๊ฒ ํ๋ฉด ์ฑ์ ์คํํ์ ๋ ์ฒซ ํ๋ฉด์ Hello Expo Router!๊ฐ ํ์๋ฉ๋๋ค.
4. ์์ ์คํ์ผ(App.js)๋ก ๋ง๋ค๊ณ ์ถ๋ค๋ฉด?
๋ง์ฝ ๊ธฐ์กด ๊ตฌ์กฐ(App.js ํฌํจ) ๋ก ์์ํ๊ณ ์ถ๋ค๋ฉด ํ๋ก์ ํธ ์์ฑ ์ --template blank ์ต์ ์ ์ฃผ๋ฉด ๋ฉ๋๋ค.
npx create-expo-app my-old-style-app --template blank
์ด ๊ฒฝ์ฐ์๋ ๋ฃจํธ์ App.js๊ฐ ์๊ธฐ๊ณ , ์ด์ ๋ฐฉ์ ๊ทธ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
5. ์ ๋ฆฌ
- App.js๊ฐ ์๋ ๊ฑด ์ค๋ฅ๊ฐ ์๋๋ผ Expo์ ์๋ก์ด ๊ธฐ๋ณธ ๊ตฌ์กฐ ๋๋ฌธ์ ๋๋ค.
- ์ต์ Expo๋ expo-router๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ผ ๊ธฐ๋ฐ ๋ผ์ฐํ ์ ์ง์ํฉ๋๋ค.
- app/(tabs)/index.tsx๊ฐ ์ฌ์ค์ ์์ ์ App.js ์ญํ ์ ๋์ ํฉ๋๋ค.
- ์์ ์คํ์ผ์ ์ํ๋ค๋ฉด --template blank ์ต์ ์ผ๋ก ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์์ผ๋ก Expo๋ฅผ ์ฌ์ฉํ๋ค๋ฉด expo-router ๊ตฌ์กฐ๋ฅผ ์ตํ๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
Next.js์ฒ๋ผ ํด๋ = ๋ผ์ฐํธ ๊ตฌ์กฐ๋ผ์, ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ํจ์ฌ ๊ด๋ฆฌํ๊ธฐ ํธ๋ฆฌํด์ง๋๋ค.