scenario table

Link와 useRouter는 사용자가 보는 이동인지 코드가 결정하는 이동인지로 나눈다

대부분의 내부 페이지 이동은 Link가 기본이고, 이벤트 처리가 끝난 뒤 이동해야 할 때만 useRouter를 꺼낸다.

시나리오권장 방식이유대표 실수
상단 메뉴Link목적지가 명확히 보임onClick으로 단순 이동 처리
상품 목록 → 상세Link크롤링 가능한 href 유지id 없는 href 생성
검색 폼 제출 후 결과useRouter.push입력값 검증 뒤 이동서버 컴포넌트에서 훅 사용
로그인 후 대시보드router.replace로그인 페이지로 뒤로가기 방지push로 히스토리 누적
외부 문서 링크a 태그브라우저 기본 링크가 적합Link로 외부 이동까지 처리