Menu
Coddy logo textTech

Récapitulatif : Navigation

Fait partie de la section L'essentiel de Next.js du Journey React de Coddy — leçon 38 sur 47.

challenge icon

Défi

Moyen

Récapitulatif du chapitre : une petite application, les deux directions de l'URL : une navigation qui lit où elle se trouve, et une page de menu filtrée par la chaîne de requête (query string).

  1. Dans components/Nav.jsx, appelez usePathname() et donnez à chaque lien la className "nav-link active" lorsque son href correspond au chemin actuel, et simplement "nav-link" sinon. L'accueil est /, le Menu est /menu.
  2. Dans app/menu/page.jsx, lisez category depuis searchParams (rappelez-vous qu'il s'agit d'une promise) et affichez uniquement les plats correspondants, ou tous les plats lorsqu'aucune catégorie n'est fournie.

/menu?category=pizza devrait afficher 2 des 4 dishes, avec le link Menu mis en évidence.

Essayez vous-même

import './globals.css';
import Nav from '../components/Nav.jsx';

export const metadata = {
    title: 'Coddy Eats',
};

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

Toutes les leçons de L'essentiel de Next.js