Open7

Next.js の App Router を使う上で知っておくと良さそうなことの雑なメモ

tatehitotatehito

特別な意味のあるファイル名

  • page.ts 画面
  • router.ts API定義
  • layout.ts 共通レイアウト
  • template.ts 共通レイアウト(レンダリングあり)
  • loading.ts ローディング画面
  • error.ts エラー画面
  • not-found.ts notFound時の画面
tatehitotatehito

page.ts

/hoge/page.ts をつくると /hoge にアクセスして表示できる

tatehitotatehito

router.ts

APIのエンドポイントを書く
/hoge/router.ts とすると /hoge がエンドポイントになる
export function GET() {
}

tatehitotatehito

layout.ts

layout.ts があるディレクトリ以下の画面に共通のレイアウトを適用できる

tatehitotatehito

loading.ts

loading.ts をつくるだけで同じディレクトリのpage.tsに対するローディング画面が作れる。

export default function Loading() {
}

error.ts や not-found.tsも同じ

tatehitotatehito

特別な意味のあるディレクトリ

  • [dir]
    • 動的パス
    • app/product/[id]/page.ts
  • (dir)
    • URLの構成から外れる
  • _dir
    • ルーティングに含まれない
  • @dir
    • 直リンク不可な画面
tatehitotatehito

データを取得するには fetch を使う
自動的に SSG、SSR、ISRが判定される?