오늘 프로젝트 라우트 주소를 설정하게 되었다.
팀원과 얘기하면서 알게되었는데 React Router의 현재 버전은 7인데 이전 프로젝트를 하면서 썼던 주소는 v6의 설정처럼 했다는 것이었다.
그래서 차이점에 대해 작성해두면 좋을 것 같다는 생각이 들었다!
import Home from './pages/Home';
import Result from './pages/Result';
import Dictionary from './pages/Dictionary';
import Quiz from './pages/Quiz';
import { Routes, Route } from 'react-router-dom';
function App() {
<>
<Routes>
{/* Home */}
<Route path="" element={<Home />} />
<Route path="result" element={<Result />} />
{/* Dictionary */}
<Route path="dictionary" element={<Dictionary />} />
{/* Quiz */}
<Route path="quiz" element={<Quiz />} />
</Routes>
;
</>;
}
export default App;
Routes와 Route 컴포넌트를 직접 사용하지 않는다
대신 createBrowserRouter와 RouterProvider를 사용하는 방식으로 변경되었다
import Home from './pages/Home';
import Result from './pages/Result';
import Dictionary from './pages/Dictionary';
import Quiz from './pages/Quiz';
import Layout from './components/Layout';
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
const router = createBrowserRouter([
{
path: "/",
element: <Layout />, // 공통 레이아웃
children: [
{
index: true, // 기본 경로 (/)
element: <Home />
},
{
path: "result",
element: <Result />
},
{
path: "dictionary",
element: <Dictionary />
},
{
path: "quiz",
element: <Quiz />
}
]
}
]);
function App() {
return <RouterProvider router={router} />;
}
export default App;
🚨 v7 방식대로 했을 때의 장점