Menu
Coddy logo textTech

Recapitulando: Busca de Dados

Parte da seção Essenciais do Next.js do Journey de React da Coddy — lição 28 de 47.

challenge icon

Desafio

Médio

Recapitulação do capítulo: um menu que carrega tudo no servidor.

lib/data.js é fornecido e bloqueado: getDishes() retorna uma promise para uma array de objetos { id, name, price }, e getDish(slug) busca um único item.

  1. Em app/page.jsx, torne Home uma função async e faça await getDishes() em uma variável dishes.
  2. Dentro de <ul id="dish-list">, renderize um <li> por prato, com key={dish.id}, id={dish.id} e o name do prato como seu texto.
  3. app/menu/[slug]/page.jsx exibe Unknown dish para cada URL: ele desestrutura params sem usar await nele. Use await em params para que a busca obtenha um slug real. Visitar /menu/carbonara deve exibir Carbonara em #dish-name e seu preço em #dish-price.

Experimente você mesmo

import './globals.css';

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

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

Todas as lições de Essenciais do Next.js