Next.js) Shallow routing 이란?

Jeong-Taek·2022년 9월 28일
1

Shallow routing

shallow routing은 새로고침을 하지 않고 url을 불러올 수 있는데 next.js의 기능이다.
shallow routing을 이해하고자 한다면 router의 기본은 알아야한다.

pathname과 query

-pathname : 전체경로
-query : query string 저장된 객체

query string - url주소를 통해 사용자들에게 데이터를 넘겨주는 것. url주소 뒤어 ? 로 구분한다. '?'앞이 url, 뒤가 query string이다.

router.push

router.push()기능을 이용해 경로를 이동할 수 있다.

router.push()에 들어가는 파라미터는 (url, as, option)이 있다.

-url : 이동하고자 하는 주소
-as : 브라우저 url바에 표시될 주소, 옵션이므로 사용하지 않아도 무방하다.
-option
:shallow -> 새로고침 없이 url을 바꿔준다.
:getStaticProps, getServerSideProps, getInitialProps를 갖는다.

이 외에도 다양한 router 객체와 router.push의 메소드들이 있다. 자세한 내용은 공식문서를 참조!

Shallow routing

shallow: ture 설정시 데이터 페칭 메서드인 getStaticProps, getServerSideProps, getInitialProps를 실행하지 않고 업데이트 된 pathname과 query를 받아 url을 바꿔줄 수 있다.

const router = useRouter()

useEffect(() => {
	router.push('/?counter=10', undefined, {shallow:true})
}, [])

useEffect(() => {

},[router.query.counter])

2개의 댓글

comment-user-thumbnail
2022년 10월 1일

밑에서 두 번째 줄 오타있어요 ture -> true

답글 달기
comment-user-thumbnail
2024년 1월 29일

좀 더 자세히 써주세요 택조 정

답글 달기