정적으로 데이터를 받아온다면 고정으로 메타데이터를 설정해주면 된다.
export const metadata = {
title: "Home",
}
하지만 동적으로 데이터를 받아오는 페이지에서는 그 페이지에 맞는 타이틀을 받아와야 한다.
동적으로 데이터를 받아오는 페이지라면, 페이지에 맞는 제목이나 설명을 받아와야 한다.
generateMetadata 함수를 이용해 데이터를 기반으로 메타데이터를 생성할 수 있다.
export async function generateMetadata({
params: { id },
}) {
const { title } = await getMovie(id)
return {
title,
}
}
metadata 객체와 generateMetadata 함수는 서버 컴포넌트에서만 사용 가능하다.metadata 객체와 generateMetadata 함수를 동시에 export할 수 없다. (둘 중 하나만 선택)export를 빼먹지 않도록 주의!간단히 말하면 페이지를 미리 로드해두어, 사용자가 해당 페이지로 이동할 때 더 빠르게 로딩되도록 도와주는 기능이다.
Prefetch 작동 방식: Link 컴포넌트가 사용자의 뷰포트에 들어갈 때 (즉, 페이지가 화면에 보일 때 또는 스크롤을 통해 링크가 화면에 도달할 때) prefetch가 발생한다.
프로덕션에서만 활성화: Prefetch는 개발 모드에서는 동작하지 않으며, 프로덕션 모드에서만 활성화된다.
기본값 null: prefetch 속성의 기본값은 null로, 이때 prefetch 동작은 정적 경로(static path)와 동적 경로(dynamic path)에 따라 달라질 수 있다.
페이지가 많아지면 브라우저 탭에 타이틀을 맞추는게 쉽지 않다..
SEO 최적화를 위해서라도 탭 타이틀은 꼭 맞춰야하는게 맞으니 동적으로 받아오는 페이지들도 자동으로 호출해줘서 맞춰준다니 .. 역시 넥스트는 대단하고 위대하다^^