Written by
Nostrss
on
on
React Router vs Nextjs Router
React Router
React에서는 Router는 Routes안에 있는 Router 들 중에서 조건에 만족한 첫번째 Router를 불러와 실행한다.
import React, { Suspense, lazy } from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
const Home = lazy(() => import('./routes/Home'));
const About = lazy(() => import('./routes/About'));
const App = () => (
<Router>
<Suspense fallback={<div>Loading...</div>}>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Suspense>
</Router>
);
Next.js router
import { useRouter } from 'next/router'
export default function Page() {
const router = useRouter()
return (
<button type="button" onClick={() => router.push('/post/abc')}>
Click me
</button>
)
}
Next.js에서는 리액트의 그것보다 훨씬 사용하기가 쉬운 모습이다. router.push(‘경로명’)만 적어주면 해당주소로 라우팅이 된다.
또한 동적라우팅 역시 아주 쉽게 적용이 가능하다.
Next는 대괄호로 이루어진 경로 폴더에 [폴더명]으로 생성하고 그 주소로 router.push만 하면 중첩 라우팅 구조가 완성되어 훨씬 편하고 효율적이다.