import { useEffect } from 'react'
import { useRouter } from 'next/router'
// 현재 URL : '/'
export default function Page() {
const router = useRouter()
useEffect(() => {
// mount 이 후 이동할 url
router.push('/?counter=10', undefined, { shallow: true })
}, [])
useEffect(() => {
}, [router.query.counter])
}
이렇게 shallow를 true로 , useEffect에 파라미터를 의존성 배열로 넣으면
파라미터 값이 바뀔 때마다 리렌더링 되어 useState를 사용하지 않고 동일한 효과를 낼 수 있다!
또한 다른 컴포넌트에 값을 넘겨줄 때도 useRouter의 사용만으로
router객체에 저장된 counter를 받아 쓸 수 있어
데이터를 상위 컴포넌트에서 하위 컴포넌트로 props를 보낼 필요가 없다.