๋ชจ๋ React Router ์น ํ๋ก์ ํธ์ ๊ถ์ฅ๋๋ ๋ผ์ฐํฐ์ ๋๋ค.
์ฌ์ฉ๋ฒ
Router.jsx
const router = createBrowserRouter([
  {
    path:"/", //์์ ์ปดํฌ๋ํธ ๊ฒฝ๋ก
    element:<Root />,
    children : [ //ํ์ ์ปดํฌ๋ํธ ๊ฒฝ๋ก
      {
        path : "",
        element : <Home />
      },
      {
		path : "about",
        element : <About />
      }
    ]
  }
])
index.jsx
RouterProvider๋ router๋ผ๊ณ  ๋ถ๋ฆฌ์ฐ๋ prop์ ๊ฐ์ง๋ค.
import React from 'react';
import ReactDOM from 'react-dom/client';
import { RouterProvider } from 'react-router-dom';
import router from './Router';
const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
);
root.render(
  <React.StrictMode>
    <RouterProvider router={router} />
  </React.StrictMode>
);
Root.jsx
import { Outlet } from "react-router-dom";
import { Header } from "./components/Header";
function Root(){
	return(
    	<div className="App">
        	<Header />
        	<Outlet />
        </div>
    )
}
export default Root;
Outlet ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด ์ฃผ์ด์ผ createBrowserRouter์์ ์ค์ ํ children์ต์
์์ ์ค์ ํ ๊ฒฝ๋ก(path:"", path:"about")๋ก ํ์ ์ปดํฌ๋ํธ๋ค์ด ๋ ๋๋ง๋๋ค.
์ค์ ํ ์ปดํฌ๋ํธ์ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์ ์๋ชป๋ ๊ฒฝ๋ก๋ก ์ ์ํ์ฌ ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ค์ ํ ์๋ฌ์ ๋ง์ถฐ์ง ์ปดํฌ๋ํธ๋ฅผ ๋ณด์ฌ์ค๋ค.
์ฌ์ฉ๋ฒ
const router = createBrowserRouter([
    {
        path:"/",
        element : <Root />,
        children : [
            {
                path:"",
                element:<Home />,
                errorElement : <ErrorComponent /> 
              //Home ์ปดํฌ๋ํธ๊ฐ ์๋ฌ๊ฐ ๋ฐ์ํ  ๊ฒฝ์ฐ <ErrorComponent />์ปดํฌ๋ํธ๋ฅผ ๋ณด์ฌ์ค๋ค.
            },
            {
                path:'about',
                element:<About />,
            }
        ],
        errorElement : <NotFound /> 
      // ๊ธฐ๋ณธ๊ฒฝ๋ก์์ ์์์ ํด๋นํ์ง ์๋ ์๋ชป๋ ๊ฒฝ๋ก๋ฅผ ์
๋ ฅํ์ ๋ <NotFound />์ปดํฌ๋ํธ๋ฅผ ๋ณด์ฌ์ค๋ค.
    }
])