以下は、配列データを元に Tailwind CSS を使って一覧表示をする Next.js(App Router構成)の見本です。
app/ └── neko-list/ └── page.tsx
'use client';
type Cat = {
id: number;
name: string;
};
const catData: Cat[] = [
{ id: 1, name: 'たま' },
{ id: 2, name: 'みけ' },
{ id: 3, name: 'しろ' },
];
export default function NekoListPage() {
return (
<main className="p-6 bg-gray-50 min-h-screen">
<h1 className="text-2xl font-bold mb-4 text-blue-700">ネコ一覧</h1>
<ul className="space-y-2">
{catData.map((cat) => (
<li key={cat.id} className="bg-white shadow p-4 rounded border border-gray-200">
<span className="font-medium text-gray-800">ID: {cat.id}</span> / 名前: {cat.name}
</li>
))}
</ul>
</main>
);
}
次のコードのこの部分が、ページ表示時に自動で実行されるトリガーです。
export default function NekoListPage() {
return (...);
}
Next.js(App Router構成)では、ページにアクセスすると、対応する page.tsx
ファイル内の
export default
関数が自動で実行され、返された JSX が画面に描画されます。
ユーザーが /neko-list にアクセスする ↓ Next.js が app/neko-list/page.tsx を読み込む ↓ export default された NekoListPage 関数を実行 ↓ return 内のJSXを描画
useEffect()
を使えば「マウント後の副作用処理」も書ける<Link>
を使って詳細ページに飛ぶ