새로운 도구를 선택하기 전에 경쟁 제품과 어떻게 비교되는지 알아보는 것은 항상 좋은 일입니다!
이 비교 표는 가능한 한 정확하고 편향되지 않도록 작성되었습니다. 이 라이브러리들 중 하나를 사용하고 있고 정보가 개선될 수 있다고 생각되면, 이 페이지 하단의 "Edit this page on GitHub" 링크를 통해 변경 사항(주석 또는 주장에 대한 증거와 함께)을 제안해 주세요.
기능/지원 수준 키:
- ✅ 1급 지원, 내장되어 추가 설정이나 코드 없이 사용 가능
- 🔵 애드온 패키지를 통해 지원
- 🟡 부분 지원
- 🔶 가능하지만 사용자 정의 코드/구현/캐스팅이 필요
- 🛑 공식적으로 지원되지 않음
TanStack Router | React Router DOM [(웹사이트)][router] | Next.JS [(웹사이트)][nextjs] | |
---|---|---|---|
Github Repo / Stars | [![][stars-tanstack-router]][gh-tanstack-router] | [![][stars-router]][gh-router] | [![][stars-nextjs]][gh-nextjs] |
번들 크기 | [![][bp-tanstack-router]][bpl-tanstack-router] | [![][bp-router]][bpl-router] | ❓ |
히스토리, 메모리 및 해시 라우터 | ✅ | ✅ | 🛑 |
중첩 / 레이아웃 라우트 | ✅ | ✅ | 🟡 |
Suspense와 유사한 라우트 전환 | ✅ | ✅ | ✅ |
타입 안정성 라우트 | ✅ | 🛑 | 🟡 |
코드 기반 라우트 | ✅ | ✅ | 🛑 |
파일 기반 라우트 | ✅ | ✅ | ✅ |
가상/프로그래밍 파일 기반 라우트 | ✅ | ✅ | 🛑 |
라우터 로더 | ✅ | ✅ | ✅ |
SWR 로더 캐싱 | ✅ | 🛑 | ✅ |
라우트 사전 로딩 | ✅ | ✅ | ✅ |
자동 라우트 사전 로딩 | ✅ | 🔵 (Remix를 통해) | ✅ |
라우트 사전 로딩 지연 | ✅ | 🔶 | 🛑 |
경로 매개변수 | ✅ | ✅ | ✅ |
타입 안전 경로 매개변수 | ✅ | 🛑 | 🛑 |
경로 매개변수 검증 | ✅ | 🛑 | 🛑 |
사용자 정의 경로 매개변수 파싱/직렬화 | ✅ | 🛑 | 🛑 |
순위별 라우트 | ✅ | ✅ | ✅ |
활성 링크 커스터마이징 | ✅ | ✅ | ✅ |
낙관적 UI | ✅ | ✅ | 🔶 |
타입 안전 절대 + 상대 내비게이션 | ✅ | 🛑 | 🛑 |
라우트 마운트/전환/언마운트 이벤트 | ✅ | 🛑 | 🛑 |
Devtools | ✅ | 🛑 | 🛑 |
기본 검색 매개변수 | ✅ | ✅ | ✅ |
검색 매개변수 훅 | ✅ | ✅ | ✅ |
<Link/> /useNavigate 검색 매개변수 API | ✅ | 🟡 (to /search 옵션을 통한 검색 문자열만 지원) | 🟡 (to /search 옵션을 통한 검색 문자열만 지원) |
JSON 검색 매개변수 | ✅ | 🔶 | 🔶 |
타입 안전 검색 매개변수 | ✅ | 🛑 | 🛑 |
검색 매개변수 스키마 검증 | ✅ | 🛑 | 🛑 |
검색 매개변수 불변성 + 구조적 공유 | ✅ | 🔶 | 🛑 |
사용자 정의 검색 매개변수 파싱/직렬화 | ✅ | 🔶 | 🛑 |
검색 매개변수 미들웨어 | ✅ | 🛑 | 🛑 |
Suspense 라우트 요소 | ✅ | ✅ | ✅ |
라우트 오류 요소 | ✅ | ✅ | ✅ |
라우트 대기 요소 | ✅ | ✅ | ✅ |
<Block> /useBlocker | ✅ | 🔶 | ❓ |
SSR | ✅ | ✅ | ✅ |
스트리밍 SSR | ✅ | ✅ | ✅ |
지연된 기본 값 | ✅ | ✅ | ✅ |
내비게이션 스크롤 복원 | ✅ | ✅ | ❓ |
로더 캐싱 (SWR + 무효화) | 🔶 (TanStack Query 추천) | 🛑 | ✅ |
액션 | 🔶 (TanStack Query 추천) | ✅ | ✅ |
<Form> API | 🛑 | ✅ | ✅ |
풀스택 API | 🛑 | ✅ | ✅ |