static한 메타

export const metadata = {
    title: 'Sales'
}

dynamicc한 메타

  1. components > movie-info.tsx 에서 getMovie export
  2. app>movies>[id]>page.tsx 에서 import 하여 id 파람값을 사용
import { Suspense } from "react";
import MovieInfo, { **getMovie** } from "../../../../components/movie-info";
import MovieVideos from "../../../../components/movie-video";

interface <u>IParams</u> {
    params: {id: string}
}
export async function generateMetadata({params: {id}} : <u>IParams</u>) {
    const movie = await getMovie(id);
    return {
        <u>title: movie.title</u>
    }
}
export default async function MovieDetailMovieDetail({params: {id} }: IParams) {
    return <div>
    ...
}

interface란?

타입스크립트에서 상호 간의 정의한 약속 혹은 규칙을 의미하는데, 쉽게 말하면 인터페이스에 선언된 프로퍼티 또는 메소드의 구현을 강제하여 일관성을 유지할 수 있도록 하는 것.

1. 인터페이스 생성 시interface 키워드를 이용하여 생성
2. interface 선언시 이름은 대문자로 시작해야 함
3. 완성된 인터페이스는 타입처럼 사용 가능해진다.
4. 인터페이스를 타입으로 가지는 값은 인터페이스의 구조를 강제로 가진다.