Next.js(ver.13)/Routing

Intercepting Routes

ecoEarth 2023. 8. 4. 05:01

Intercepting Routes

 

 

  • Intercepting Routes은 현재 페이지의 레이아웃을 유지하면서 현다른 페이지의 경로를 불러올 수 있게 해준다. 
    -> 예를 들어 피드 내에서 사진을 클릭하면 피드에 오버레이되는 모달이 사진과 함께 표시되게 하고싶을때 Next.js는 /feed 경로를 가로채고 이 URL을 '마스킹'하여 /photo/123을 대신 표시한다. (경로는 바뀌지만 화면에 비추는 모습은 마치 모달)
 

NextGram

 

nextgram.vercel.app

 

Convention

  • Intercepting Routes는 (..)컨벤션을 따르면 된다. Next개발팀이 ../에서 영감을 받은 듯 하다.
  • (..) 는 파일 시스템이 아니라, route segment다. -> 경로로 작용한다는 소리
  • 사용방법
    • (.) 동일레벨의 segment와 매치
    • (..) 한단계 위의 레벨 segment와 매치
    • (..)(..) 두단계 위의 레벨 segment와 매치
    • (...) 최상단 app 디렉토리의 segment와 매치

 

 

Examples

Intercepting Routes와 Parallel Routes를 함께 사용하여 모달을 만들 수 있다.

이 패턴을 사용하여 모달을 만들면 다음과 같은 작동방식을 기대할 수 있다.

  • URL을 통해 모달 콘텐츠를 공유할 수 있도록 만들기
  • 페이지가 새로 고쳐질 때 모달을 닫지 않고 컨텍스트 유지
  • 이전 경로로 이동하지 않고 뒤로 탐색할 때 모달 닫기
  • 앞으로 탐색 시 모달 다시 열기

->굳이 모달을 이런식으로 사용해아 하나..? 그냥 가능하다는 정도만, 이용원리만 파악하고 넘어가자