Menu
Coddy logo textTech

まとめ:データ取得

CoddyのReactジャーニー「Next.js の基本」セクションの一部 — レッスン 28/47。

challenge icon

チャレンジ

中級

章のまとめ: すべてをサーバー上で読み込むメニュー。

lib/data.js が提供されており、ロックされています: getDishes(){ id, name, price } オブジェクトの配列を返す Promise を返し、getDish(slug) は単一のオブジェクトを検索します。

  1. app/page.jsx 内で、Homeasync 関数にし、await getDishes() の結果を dishes 変数に代入します。
  2. <ul id="dish-list"> 内に、料理ごとに <li> を 1 つずつレンダリングし、key={dish.id}id={dish.id}、およびテキストとして料理の name を指定します。
  3. app/menu/[slug]/page.jsx はすべての URL に対して Unknown dish を表示します: paramsawait せずに非構造化割り当てを行っています。検索で実際の slug が取得できるように paramsawait してください。/menu/carbonara にアクセスしたときに、#dish-nameCarbonara が表示され、#dish-price にその価格が表示される必要があります。

自分で試してみよう

import './globals.css';

export const metadata = {
    title: 'My App',
};

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                {children}
            </body>
        </html>
    );
}

Next.js の基本のすべてのレッスン