Paso 2: La cuadrícula del menú
Parte de la sección Esenciales de Next.js del Journey de React de Coddy. Lección 40 de 47.
Desafío
FácilRellena el menú en app/page.jsx.
- Haz que
Homeseaasyncy usaawait getDishes()de../lib/menu.js. - Conserva el hero y, después, renderiza un
<ul className="grid">con un<li className="card">por plato (key= el slug). - Cada tarjeta contiene un
<div className="thumb">conid={'thumb-' + dish.slug}, elemojidel plato como contenido ystyle={{ background: dish.gradient }}. - Después, un
<div className="card-body">que contiene un<h2 className="card-title">conid={'name-' + dish.slug}y el nombre, un<p className="card-desc">con la descripción y un<span className="price">conid={'price-' + dish.slug}que muestra$y después el precio.
Pruébalo tú mismo
import Link from 'next/link';
import './globals.css';
export const metadata = {
title: {
default: 'Coddy Eats',
template: '%s | Coddy Eats',
},
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<nav className="nav">
<Link className="brand" href="/">Coddy Eats</Link>
<Link id="nav-menu" href="/">Menu</Link>
<Link id="nav-desserts" href="/?category=dessert">Desserts</Link>
</nav>
<div className="container">
{children}
</div>
</body>
</html>
);
}Todas las lecciones de Esenciales de Next.js
2Enrutamiento y enlaces
Las carpetas son rutasRutas anidadasEnlaces entre páginasRutas dinámicasPáginas no encontradasRecapitulación: Enrutamiento5Datos en el servidor
Componentes asíncronosEspera de parámetros de rutaDos peticiones a la vezEstados de cargaManejo de erroresResumen: Obtención de datos8Proyecto: Coddy Eats
Paso 1: El Shell