Menu
Coddy logo textTech

Resumen: Obtención de datos

Parte de la sección Esenciales de Next.js del Journey de React de Coddy — lección 28 de 47.

challenge icon

Desafío

Intermedio

Resumen del capítulo: un menú que carga todo en el servidor.

lib/data.js viene proporcionado y bloqueado: getDishes() devuelve una promesa de un array de objetos { id, name, price }, y getDish(slug) busca uno individual.

  1. En app/page.jsx, haz que Home sea una función async y usa await getDishes() en una variable dishes.
  2. Dentro de <ul id="dish-list">, renderiza un <li> por plato, con key={dish.id}, id={dish.id} y el name del plato como su texto.
  3. app/menu/[slug]/page.jsx muestra Unknown dish para cada URL: desestructura params sin esperarlo con await. Espera con await a params para que la búsqueda obtenga un slug real. Al visitar /menu/carbonara debe mostrar Carbonara en #dish-name y su precio en #dish-price.

Pruébalo tú mismo

import './globals.css';

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

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

Todas las lecciones de Esenciales de Next.js