React Router

moon.kick·2025년 4월 16일

좋아! 이해하려고 하는 자세 너무 좋아👏
그럼 아~주 쉽게 풀어서 말해줄게!


💬 너가 한 질문:

“풀스택 라우터처럼 진화했다?”
“Remix에서 가져온 아이디어?”
“React Router가 Next.js처럼?”
이게 뭔 말이냐는 거지?


🧠 요약 먼저

이전에는 React Router가 그냥 “페이지 이동기”였어.
근데 이제는
👉 데이터 가져오기 + 제출 처리 + 에러 처리까지 해주는 진짜 똑똑한 녀석이 됐어!


📦 예전의 React Router vs 지금의 React Router v6.19+

기능예전 버전 (v5~v6 초기)지금 (v6.19+)
페이지 이동
서버에서 데이터 가져오기❌ 직접 fetch 써야 했음loader로 처리
폼 제출 처리❌ 직접 onSubmit 해야 함action으로 처리
에러 처리❌ try-catch 해야 함errorElement 자동 적용
상태 없는 컴포넌트들
상태 있는 뷰/UI 처리 (ex. 로딩중)useFetcher()로 가능

🍰 비유하자면

예전 방식지금 방식
React Router📦 단순한 배달원: "이 URL엔 이 컴포넌트 보여줘"
React Router 6.19+🍳 요리사 + 종업원 + 계산까지 다 하는 레스토랑

🤝 Remix란?

Remix는 React 기반 풀스택 프레임워크야.
페이지 이동뿐 아니라 데이터 로딩, 제출, 인증, 에러처리도 다 해줘.

React Router는 Remix 팀이 만들었고,
이제 React Router에도 Remix 기능이 들어오기 시작한 거야!


🌍 그래서 왜 Next.js 같다는 거야?

특징Next.jsReact Router 6.19+
페이지 기반 라우팅✅ (파일 기반도 실험중)
서버 사이드 렌더링 (SSR)⚠️ 일부 가능 (loader)
데이터 pre-fetching✅ (loader)
Form POST 처리✅ (API Routes)✅ (action, Form)
에러 페이지✅ (errorElement)

이제는 React Router 하나로도 거의 Next.js 수준의 기능이 가능해진 거야.


🔥 정리 한줄 요약

“React Router는 이제 단순한 라우터가 아니라,
데이터와 UI 상태까지 통합 관리하는 ‘풀스택급 라우터’로 진화했다”
🎯


필요하면 Remix와 Next.js, React Router의 비교 표도 만들어줄 수 있어!

혹시 Form, loader, action을 직접 써본 적 있어?
실제 사용 예시로 보여줄까? ✨

profile
@mgkick

0개의 댓글