์ด๋ฒ์ฃผ ๊ธฐ์
๊ณผ์ ๋ฅผ ์๋กญ๊ฒ ์์ํ๋ฉด์ ์ญํ ์ ๋ถ๋ดํ๋ค.
๋๋ ์ด๊ธฐ ๋ ์ด์์์ ์ง๊ณ , ๊ด๊ณ ๊ด๋ฆฌ ํ์ด์ง๋ฅผ ์งํํ๊ธฐ๋ก ํ๋ค
์ด๊ธฐ ๋ ์ด์์์ ์ง๋ฉด์ ํ์๋ถ์ด ์๋ ค์ฃผ์ react router dom์ outlet์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค!
v6์ ์๋กญ๊ฒ ์ถ๊ฐ๋ Outlet์ react์ children๊ณผ ์ ์ฌํ๊ฒ ์๋ํจ์ผ๋ก์, ๋ ์ด์์ ์ค์ ์ ๋งค์ฐ ๊ฐํธํ๊ฒ ํ ์ ์๋ค.
function App() {
return (
<Routes>
<Route path="/" element={<Layout />}>
<Route path="invoices" element={<Invoices />} />
<Route path="activity" element={<Activity />} />
</Route>
</Routes>
);
}
function Layout() {
return (
<div>
<GlobalNav />
<main>
<Outlet />
</main>
</div>
);
}
์ด๋ ๊ฒ ๋ ์ด์์ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ณ , react-router-dom์์ Outlet ์ปดํฌ๋ํธ๋ฅผ importํ๋ค. ๊ณ ์ ํ ์ปดํฌ๋ํธ๋ค์ด๋ ์คํ์ผ๋ค์ ์ค์ ํด์ฃผ๊ณ routes์์ route์ ๋ ์ด์์ ์ปดํฌ๋ํธ๋ก ๊ฐ์ธ์ฃผ๋ฉด ๊ทธ ๋ฐ์ route๋ค์ Outlet ์ปดํฌ๋ํธ ์์น์ ์์นํ๊ฒ ๋๋ค๐