중첩 라우팅은 URL 의 세그먼트를 컴포넌트 계층 구조와 데이터에 연결하는 일반적인 개념입니다. React Router 의 중첩 라우팅은 2014년경 Ember.js 의 라우팅 시스템에서 영감을 받았습니다. Ember 팀은 거의 모든 경우에서 URL 의 세그먼트가 라우팅을 결정한다는 사실을 깨달았습니다:

React Router 는 URL 세그먼트와 데이터에 연결된 중첩 레이아웃을 생성하기 위한 API를 통해 이러한 관습을 수용합니다.

// Configure nested routes with JSX
createBrowserRouter(
  createRoutesFromElements(
    <Route path="/" element={<Root />}>
      <Route path="contact" element={<Contact />} />
      <Route
        path="dashboard"
        element={<Dashboard />}
        loader={({ request }) =>
          fetch("/api/dashboard.json", {
            signal: request.signal,
          })
        }
      />
      <Route element={<AuthLayout />}>
        <Route
          path="login"
          element={<Login />}
          loader={redirectIfUser}
        />
        <Route path="logout" action={logoutUser} />
      </Route>
    </Route>
  )
);

// Or use plain objects
createBrowserRouter([
  {
    path: "/",
    element: <Root />,
    children: [
      {
        path: "contact",
        element: <Contact />,
      },
      {
        path: "dashboard",
        element: <Dashboard />,
        loader: ({ request }) =>
          fetch("/api/dashboard.json", {
            signal: request.signal,
          }),
      },
      {
        element: <AuthLayout />,
        children: [
          {
            path: "login",
            element: <Login />,
            loader: redirectIfUser,
          },
          {
            path: "logout",
            action: logoutUser,
          },
        ],
      },
    ],
  },
]);

스크린샷 2023-07-19 오전 2.48.56(3).png

스크린샷 2023-07-19 오전 2.49.42(3).png

스크린샷 2023-07-19 오전 2.49.20(3).png

스크린샷 2023-07-19 오전 2.50.02(3).png