React Router Dom으로 페이지를 분기마다 처리하는데 다른 페이지라도 같은 layout을 적용하고 싶은 경우가 있다. 아래와 같이 사용한다면 react router dom을 써서 분기처리하더라도 같은 layout을 적용한 페이지들을 볼 수 있다.
Router.tsx
<Route element={<MainLayout />}>
<Route element={<HomePage />} path="/" />
<Route element={<MyPage />} path="/mypage" />
</Route>
페이지를 분기한 Route
태그들을 상위 Route
태그로 감싼다.
상위 Route태그의 element
값에 하위 route
태그 페이지에 설정할 layout 컴포넌트를 작성한다.
MainyLayout.tsx
import React from 'react';
import { Outlet } from 'react-router-dom';
const MainLayout = () => {
return (
<>
<Outlet />
</>
);
};
export default MainLayout;
layout 컴포넌트를 만들어서 return
값에 <Outlet />
를 적어준다.