지금까지의 React Router는 단순한 라우팅 라이브러리였지만, 이제는 Next.js처럼 자체적인 데이터 관리와 렌더링 방식까지 제공하는 프레임워크로 발전하고 있다.
Remix 팀은 Remix와 React Router의 기능이 매우 유사해졌다는 점을 인식하고, 두 프로젝트를 통합하기로 결정했다. React Router v7은 Remix의 모든 주요 기능을 포함하게 되었다.
기존 React Router v6처럼 클라이언트 측 라우팅(SPA)을 위한 라이브러리로 사용한다.
특징
React Router를 완전한 프레임워크처럼 사용할 수도 있다.
특징
라이브러리 | 프레임워크 | |
---|---|---|
라우팅 방식 | <Routes> 와 <Route> 로 정의 | routes.ts 에서 설정 |
코드 스플리팅 | 없음 | 자동 적용 |
데이터 로딩 | useEffect + fetch 사용 | loader 제공 |
데이터 업데이트 | 수동 처리 필요 | action 사용 |
SEO 최적화 | 없음 | 자동 처리 가능 |
SSR 지원 | ❌ (클라이언트 사이드 전용) | ✅ |
타입 안전성 | 직접 관리해야 함 | 자동 적용 |
핫 모듈 교체(HMR) | 지원 안 함 | 지원 |
React Router를 단순히 라우팅을 위한 라이브러리로 사용할 수도 있고, 프레임워크처럼 완전한 데이터 관리 및 SSR 기능까지 포함한 풀스택 환경으로 사용할 수도 있다.
만약 기존 React Router v6처럼 간단한 클라이언트 측 라우팅을 원한다면 라이브러리 모드가 적합하다. 더 강력한 기능(SSR, 데이터 로딩, 타입 안전성 등)을 원한다면 프레임워크 모드를 활용할 수 있다.
향후 React Router: The Framework의 공식문서를 정리하고자 한다.