Menu
Coddy logo textTech

Zusammenfassung: Datenabruf

Teil des Abschnitts Next.js Essentials der React-Journey von Coddy — Lektion 28 von 47.

challenge icon

Aufgabe

Mittel

Kapitelzusammenfassung: Ein Menü, das alles auf dem Server lädt.

lib/data.js ist bereitgestellt und gesperrt: getDishes() gibt ein Promise für ein Array von { id, name, price } Objekten zurück, und getDish(slug) sucht ein einzelnes heraus.

  1. In app/page.jsx, mache Home zu einer async-Funktion und await getDishes() in eine dishes-Variable.
  2. Rendere innerhalb von <ul id="dish-list"> ein <li> pro Gerichts-Eintrag mit key={dish.id}, id={dish.id} und dem name des Gerichts als Text.
  3. app/menu/[slug]/page.jsx zeigt Unknown dish für jede URL an: Es destrukturiert params, ohne darauf zu warten. Verwende await für params, damit die Suche einen echten Slug erhält. Der Aufruf von /menu/carbonara muss Carbonara in #dish-name und dessen Preis in #dish-price anzeigen.

Probier es selbst

import './globals.css';

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

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

Alle Lektionen in Next.js Essentials