1. 라우팅 방식
| 방식네비게이션 | 유형 |
| <Link /> | Declarative Navigation <a>태그와 유사 |
| <Navigate /> | Declarative Redirect |
| navigate() | Imperative / Programmatic Navigation |
| 구분 | <Navigate /> | navigate() |
| 실행 위치 | 렌더링 결과 | effect / 이벤트 |
| 스타일 | 선언형 | 명령형 |
| 가독성 | 높음 | 중간 |
| 라우터 가드 | 최고 | 가능하지만 복잡 |
| 사용 예 |
|
|
라우터가드 예시
if (!isLogin) {
return <Navigate to="/login" replace />;
}
2. 파라미터 전달방식
1) QueryString
<Link to={{ pathname: "/search", search: "?q=react" }} />
navigate({
pathname: "/search",
search: "?q=react&page=2",
});
2) State
<Link
to="/detail"
state={{ from: "list", scroll: 120 }}
/>
navigate("/detail", {
state: { from: "list", scroll: 120 },
});
참고) location.state는 “같은 히스토리 엔트리 위에서 새로고침”하면 유지될 수 있다
'WEB개발 > REACT' 카테고리의 다른 글
| vite-plugin-route-meta (0) | 2026.01.15 |
|---|---|
| pull to refresh (0) | 2026.01.12 |
| [hook] useCallback (0) | 2025.12.16 |
| [hook] useEffect (0) | 2025.12.16 |
| [hook] useQuery (0) | 2025.12.12 |