Ответ
Next.js использует файловую систему для маршрутизации – папки и файлы в pages/ автоматически становятся маршрутами (например, pages/about.js → /about). Поддерживает SSR, SSG, ISR из коробки.
React Router – клиентская библиотека, требующая явного объявления маршрутов в коде:
<Routes>
<Route path="/about" element={<About />} />
</Routes>Ключевые отличия:
- Next.js маршрутизация работает на сервере и клиенте, React Router – только на клиенте.
- Next.js имеет встроенные оптимизации (пререндеринг), React Router требует дополнительной настройки.
- В Next.js динамические маршруты через
[id].js, в React Router черезpath="users/:id".
Пример динамического маршрута в Next.js:
// pages/users/[id].js
export default function User({ data }) {
return <div>{data.name}</div>
}