ステップ 2:メニューグリッド
CoddyのReactジャーニー「Next.js の基本」セクションの一部 — レッスン 40/47。
チャレンジ
簡単app/page.jsx 内のメニューを実装してください。
Homeをasyncにし、../lib/menu.jsからawait getDishes()を呼び出します。- hero を保持し、その後に料理ごとに1つの
<li className="card">(key= slug)を含む<ul className="grid">をレンダリングします。 - 各カードには
id={'thumb-' + dish.slug}、コンテンツとして料理のemoji、そしてstyle={{ background: dish.gradient }}を持つ<div className="thumb">を配置します。 - 次に
id={'name-' + dish.slug}と名前を持つ<h2 className="card-title">、説明(description)を持つ<p className="card-desc">、およびid={'price-' + dish.slug}を持ち$の後に価格を表示する<span className="price">を含む<div className="card-body">を配置します。
自分で試してみよう
import Link from 'next/link';
import './globals.css';
export const metadata = {
title: {
default: 'Coddy Eats',
template: '%s | Coddy Eats',
},
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<nav className="nav">
<Link className="brand" href="/">Coddy Eats</Link>
<Link id="nav-menu" href="/">Menu</Link>
<Link id="nav-desserts" href="/?category=dessert">Desserts</Link>
</nav>
<div className="container">
{children}
</div>
</body>
</html>
);
}Next.js の基本のすべてのレッスン
8プロジェクト:Coddy Eats
ステップ 1:シェル(骨組み)