한 입 크기로 잘라먹는 Next.js(v15) 2.2강
import { useRouter } from "next/router"
export default function Test() {
const router = useRouter() // 거의 모든 라우팅 정보가 담긴 객체
const { q } = router.query; // 구조분해할당으로 query 값 꺼내기
useEffect(() => { // SSR 특성 상, 마운트 이전에 출력하면 빈 객체가 출력될 수 있으니 useEffect
//console.log(router.query);
console.log(q);
}, [q]);
}
import { useRouter } from "next/router"
export default function Test() {
const router = useRouter();
const { id, name } = router.query; // 동적 경로 변수까지 포함
useEffect(() => {
console.log(router.query);
}, [router.query]);
return <div>Dynamic Route: {id}, Name: {name}</div>;
}
export async function getServerSideProps(context: GetServerSideContext) {
console.log(context.params); // 동적 경로 정보
console.log(context.req); // HTTP 요청 객체
const q = context.query.q;
const data = fetchData(q as string); // 데이터페칭 함수에 인자로 전달
return {
props: {},
};
}