Metadata
https://nextjs.org/docs/app/api-reference/file-conventions/metadata
- 제일 상위 폴더의 layout에서 metadata 정의
하위 폴더의 layout에서 metadata를 정의하면 폴더별로 다른 metadata의 title과 desc를 가질 수 있다. 만약 지정하지 않으면 최상위 폴더의 metadata를 덮어쓰게 된다.
export const metadata = {
title: { default: "나영의 블로그", template: "나영의 블로그 | %s" },
description: "나영이의 블로그입니다",
};
// main layout
- dynamic한 metadata를 정의할 수도 있다.
export async function generateMetadata({
params: { slug },
}: Props): Promise<Metadata> {
const post = await getPostData(slug);
const { title, description } = post;
return {
title,
description,
};
}
//SSR
export default function PostPage({ params }: Props) {
if (params.post === "nothing") {
notFound();
}
return <div>{params.post} Post</div>;
}
db와 통신할경우 비동기로 동작하게 만들어야함 async/await으로
'Computer Programming > Next' 카테고리의 다른 글
Next.js - fetch를 이용한 SSG, ISR, SSR, CSR 구현 옵션 (0) | 2023.08.01 |
---|---|
Next.js - Server Component/ Client Components (0) | 2023.08.01 |
Next.js - File Convention :not-found, layout(+Link tag), loading, (0) | 2023.08.01 |
Next.js - Static/Dynamic Routing (0) | 2023.08.01 |
Next.js 장점과 렌더링 종류 (0) | 2023.08.01 |