☁️ goormTIL | Next.js #64

매루·2025년 12월 9일

goormTIL

목록 보기
62/67
post-thumbnail

📅 2025-12-09

➡️ Next.js Parallel Routes, Intercepting Routes에 대해 새롭게 알게 된 것 또는 헷갈리는 부분 정리


🔎 학습 리마인드

📌 Parallel Routes

🔗 File-system conventions: Parallel Routes

  • 동일한 레이아웃 내에서 여러 페이지를 동시에 또는 조건부로 렌더링할 수 있게 해주는 기능
  • 소셜 사이트의 대시보드 및 피드와 같은 동적인 UI 구성에 유용
  • 하나의 레이아웃에서 여러 Slot 영역을 독립적으로 렌더링

💡 Slot과 @folder 규칙

Slot이란?

  • Parallel Route에서 렌더링될 독립 영역
  • Parallel Route에서 각 병렬 영역Slot이라고 함
  • @슬롯명 폴더를 만들면 해당 이름으로 레이아웃 props로 전달됨
  • layout.tsx
    // app/layout.tsx
    export default function RootLayout({
      children,
      modal, // @modal폴더와 매칭되는 슬롯
    }: Readonly<{
      children: React.ReactNode;
      modal: React.ReactNode;
    }>) {
    	return(
    		<body>
    			{modal}
    			{children}
    		</body>
    	)
    }
    • children → 기본 라우트
    • modalapp/@modal 아래의 라우트들이 렌더링

📌 Intercepting Routes

🔗 Intercepting Routes – Nextjs 한글 문서

  • 다른 경로를 현재 레이아웃에서 가로채기
  • 현재 레이아웃 내에서 애플리케이션의 다른 부분의 라우트를 로드할 수 있음
  • 다른 페이지로 완전히 이동하지 않고 콘텐츠만 overlay / modal 등으로 표현
    • 예: feed에서 사진 클릭 → photos/[id] 라우트를 모달로 표시

💡 Convention

  • (.) : 현재 세그먼트 매칭
  • (..) : 한 단계 상위 세그먼트로 이동

📌 Soft Navigation vs. Hard Navigation

구분Soft NavigationHard Navigation
특징React 내부 라우팅전체 페이지 리로드
Layout 유지OX (다시 렌더링)
상태 유지OX
Suspense 동작기존 유지다시 실행
UX 느낌SPA 전환처럼 부드러움새로고침 느낌

0개의 댓글