0Pricing
React Academy · Lektion

Dynamische Routes und Route-Gruppen

Erstellen Sie dynamische [slug]-Segmente, Route-Gruppen mit (folder) und parallele Routes.

Dynamische Routes und Route-Gruppen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Dynamische Segmente

Schließen Sie einen Ordnernamen in eckige Klammern ein, um ein dynamisches Segment zu erstellen. Der Wert ist in den an die Seite übergebenen params verfügbar.

// app/products/[id]/page.tsx
export default function ProductPage({ params }: { params: { id: string } }) {
  return <h1>Product {params.id}</h1>;
}
// → /products/123 → params.id = '123'

Typisierte Params

Params sind in der URL immer Zeichenfolgen. Wandeln Sie sie für numerische IDs ausdrücklich um.

export default async function PostPage({ params }: { params: { slug: string } }) {
  const post = await getPostBySlug(params.slug);
  if (!post) notFound();
  return <article>{post.content}</article>;
}

Catch-all-Segmente

Verwenden Sie [...slug], um beliebig viele Pfadsegmente zu erfassen. Der Wert ist ein Array aus Zeichenfolgen.

// app/docs/[...path]/page.tsx
export default function DocsPage({ params }: { params: { path: string[] } }) {
  // /docs/react/hooks → params.path = ['react', 'hooks']
  return <DocViewer path={params.path} />;
}

Optionale Catch-all-Segmente

[[...slug]] erfasst auch das Root-Segment – nützlich für optionale Pfadpräfixe.

// app/[[...lang]]/page.tsx
// Matches /, /en, /en/about, /fr/products/123
export default function Page({ params }: { params: { lang?: string[] } }) {
  const lang = params.lang?.[0] ?? 'en';
  return <div lang={lang}>...</div>;
}

generateStaticParams

Exportieren Sie generateStaticParams(), um dynamische Routen zum Build-Zeitpunkt vorab zu rendern und statisches HTML für jede Parametere Kombination zu erzeugen.

export async function generateStaticParams() {
  const posts = await getPosts();
  return posts.map(p => ({ slug: p.slug }));
}
// → builds /blog/hello-world, /blog/react-tips etc. statically

Routengruppen — (folder)

Schließen Sie einen Ordnernamen in runde Klammern ein, um eine Routengruppe zu erstellen. Dadurch werden Dateien organisiert, ohne ein URL-Segment hinzuzufügen.

// File structure:
// app/(marketing)/about/page.tsx → /about
// app/(marketing)/blog/page.tsx  → /blog
// app/(app)/dashboard/page.tsx   → /dashboard
// (marketing) and (app) don't appear in URLs

Routengruppen mit gemeinsamen Layouts

Jede Routengruppe kann ein eigenes layout.tsx enthalten. So lassen sich verschiedenen Bereichen unterschiedliche Layouts zuweisen, ohne sie in der URL zu verschachteln.

// app/(marketing)/layout.tsx — marketing shell
// app/(app)/layout.tsx — authenticated app shell
// Both groups share app/layout.tsx as the root

Parallele Routen — @slot

Setzen Sie @ vor einen Ordnernamen, um einen Slot zu erstellen. Slots werden gleichzeitig im übergeordneten Layout gerendert – nützlich für Modals, geteilte Ansichten oder Tabs.

// app/@modal/login/page.tsx
// app/layout.tsx
export default function RootLayout({ children, modal }) {
  return (
    <div>
      {children}
      {modal} {/* renders @modal/login/page.tsx side by side */}
    </div>
  );
}

Abfangende Routen — (..)

Verwenden Sie die Notation (..), um eine Route abzufangen und inline zu rendern (z. B. ein Foto in einem Modal zu öffnen, statt zu einer neuen Seite zu navigieren).

// Soft navigation shows modal:
// app/@modal/(..)/photos/[id]/page.tsx
// Hard navigation shows full page:
// app/photos/[id]/page.tsx

Dynamische Routen-Metadaten

Exportieren Sie in dynamischen Routen eine asynchrone Funktion generateMetadata, um seitenspezifische SEO-Tags auf Grundlage der Routen-Params festzulegen.

export async function generateMetadata({ params }: { params: { id: string } }) {
  const product = await getProduct(params.id);
  return { title: product.name, description: product.description };
}

Kurztest

Was bewirkt es im App Router von Next.js, einen Ordnernamen in runde Klammern einzuschließen?

Zusammenfassung

[id] erstellt dynamische Segmente, [...slug] erfasst alle Unterpfade und [[...slug]] macht sie optional. Routengruppen mit (name) organisieren den Code, ohne die URL zu beeinflussen, und ermöglichen gruppenspezifische Layouts. Verwenden Sie generateStaticParams für das Vorab-Rendern zum Build-Zeitpunkt.

Häufig gestellte Fragen

Ist die Lektion „Dynamische Routes und Route-Gruppen“ kostenlos?

Ja — der vollständige Text von „Dynamische Routes und Route-Gruppen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Dynamische Routes und Route-Gruppen“?

Erstellen Sie dynamische [slug]-Segmente, Route-Gruppen mit (folder) und parallele Routes. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um React Academy zu starten?

Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Dynamische Routes und Route-Gruppen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?

Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Dateikonventionen im App Router
  2. Server- und Client-Components in Next.js
  3. Dynamische Routes und Route-Gruppen
  4. Metadata API und SEO im App Router
← Zurück zu React Academy