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 está bloqueado: getDishes() retorna uma promise para um array de objetos { id, name, price }, e getDish(slug) busca um único objeto.

  1. Em app/page.jsx, transforme Home em uma função async e use await getDishes() para atribuir o resultado a 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 todas as URLs: ele desestrutura params sem aguardá-lo. Aguarde params para que a busca receba um slug real. Acessar /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