Navigazione condivisa
Fa parte della sezione Nozioni essenziali di Next.js del percorso React di Coddy. Lezione 12 di 47.
Una barra di navigazione è l'elemento classico da inserire in un layout: scritta una sola volta, presente in ogni route, senza essere mai rimontata.
// app/layout.jsx
import Link from 'next/link';
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<nav>
<Link href="/">Home</Link>
</nav>
{children}
</body>
</html>
);
}Nota dove si trova {children}: dopo la nav. Qualsiasi cosa inserisci prima appare sopra la pagina, qualsiasi cosa inserisci dopo appare sotto. Il layout è solo JSX. L’unica regola è che {children} deve trovarsi da qualche parte lì dentro.
Ora il layout è tuo, non è bloccato. Aggiungi la barra di navigazione, poi guarda come resta al suo posto mentre la pagina cambia sotto di essa.
Sfida
FacileAggiungi a Coddy Eats una barra di navigazione presente su ogni pagina.
In app/layout.jsx, dentro <body> e sopra {children}, aggiungi:
- Un
<nav>conid="nav" - Al suo interno, un
<Link>verso/conid="home-link"e il testoHome - E un
<Link>verso/menuconid="menu-link"e il testoMenu
Le pagine sono bloccate: devi modificare solo il layout. In seguito, i test visitano /menu e controllano che la barra di navigazione sia ancora visibile.
Provalo tu
import './globals.css';
import Link from 'next/link';
export const metadata = {
title: 'Coddy Eats',
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
</body>
</html>
);
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Nozioni essenziali di Next.js
4Server e Client
Due tipi di componentiLeggere l'erroreLa riga 'use client'Mantieni piccole le parti ClientServer dentro ClientRiepilogo: Server e Client7Navigazione lato client
Il link attivoRouting programmaticoFiltrare con l'URLGestori delle routeRiepilogo: navigazione2Routing e collegamenti
Le cartelle sono routeRoute annidateCollegare le pagineRoute dinamichePagine non trovateRiepilogo: routing5Dati sul server
Componenti asincroniIn attesa dei parametri della routeDue fetch contemporaneiStati di caricamentoGestione degli erroriRiepilogo: recupero dei dati8Progetto: Coddy Eats
Passaggio 1: La struttura3Layout e metadati
Il layout principaleNavigazione condivisaLayout nidificatiMetadati della paginaMetadati dinamiciRiepilogo: layout