Gemeinsame Navigation
Teil des Abschnitts Next.js Essentials der React-Journey von Coddy — Lektion 12 von 47.
Eine Navigationsleiste ist das klassische Element für ein Layout: einmal geschrieben, auf jeder Route vorhanden und wird nie erneut gemountet.
// 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>
);
}Beachte, wo {children} platziert ist: nach der Nav. Alles, was du davor einfügst, erscheint über der Seite, alles danach erscheint darunter. Das Layout ist einfach JSX. Die einzige Regel ist, dass {children} irgendwo darin enthalten sein muss.
Jetzt ist das Layout deine Datei und nicht mehr gesperrt. Füge die Navigation (nav) hinzu und beobachte, wie sie an ihrem Platz bleibt, während sich die Seite darunter ändert.
Aufgabe
EinfachGib Coddy Eats eine Navigationsleiste, die auf jeder Seite vorhanden ist.
In app/layout.jsx, innerhalb von <body> und oberhalb von {children}, füge hinzu:
- Ein
<nav>mitid="nav" - Darin einen
<Link>zu/mitid="home-link"und dem TextHome - Und einen
<Link>zu/menumitid="menu-link"und dem TextMenu
Die Seiten sind gesperrt: Du bearbeitest nur das Layout. Die Tests rufen danach /menu auf und prüfen, ob die Navigationsleiste weiterhin auf dem Bildschirm zu sehen ist.
Probier es selbst
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>
);
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Next.js Essentials
4Server & Client
Zwei Arten von KomponentenDen Fehler lesenDie 'use client'-ZeileClient-Teile klein haltenServer innerhalb von ClientZusammenfassung: Server & Client7Client-seitige Navigation
Der aktive LinkProgrammatisches RoutingFiltern mit der URLRoute-HandlerZusammenfassung: Navigation2Routing & Links
Ordner sind RoutenVerschachtelte RoutenSeiten verlinkenDynamische RoutenNicht-gefunden-SeitenZusammenfassung: Routing3Layouts & Metadaten
Das Root-LayoutGemeinsame NavigationVerschachtelte LayoutsSeiten-MetadatenDynamische MetadatenZusammenfassung: Layouts