iToverDose/Software· 8 JULI 2026 · 08:01

Moderne React-Router-Einrichtung mit createBrowserRouter (v6+)

Erfahre, wie du mit der modernen React-Router-Methode `createBrowserRouter` skalierbare Anwendungen mit verschachtelten Layouts und Schutzmechanismen entwickelst – inklusive Schritt-für-Schritt-Anleitung.

DEV Community3 min0 Kommentare

Die Einrichtung von Routen in React-Anwendungen hat sich mit der Einführung von React Router 6 grundlegend verändert. Eine der effizientesten Methoden ist die Verwendung von createBrowserRouter, die nicht nur die Code-Struktur optimiert, sondern auch erweiterte Funktionen wie verschachtelte Layouts, Daten-Ladeprogramme und Schutzmechanismen unterstützt. Dieser Leitfaden zeigt dir, wie du diese Methode Schritt für Schritt umsetzt.

Warum createBrowserRouter die bessere Wahl ist

Die klassische Methode mit BrowserRouter und Routes bleibt zwar funktionsfähig, stößt jedoch an Grenzen, sobald Anwendungen komplexer werden. createBrowserRouter bietet folgende Vorteile:

  • Klarere Routenkonfiguration: Die Definition von Routen erfolgt zentral in einer Datei, was die Wartung erleichtert.
  • Unterstützung für verschachtelte Layouts: Mehrere Layout-Komponenten können nahtlos ineinander integriert werden.
  • Datenintegration: Die Nutzung von loaders und actions ermöglicht eine direkte Datenabfrage und -verarbeitung.
  • Einfache Implementierung von Schutzmechanismen: Authentifizierte Routen lassen sich ohne zusätzlichen Aufwand einrichten.
  • Skalierbarkeit: Ideal für große Projekte, da die Struktur auch bei wachsender Komplexität übersichtlich bleibt.

Schritt 1: React Router installieren und Projekt strukturieren

Bevor du mit der Konfiguration beginnst, installiere die benötigten Pakete in deinem Projekt:

npm install react-router-dom

Eine gut durchdachte Projektstruktur verhindert Chaos in späteren Entwicklungsphasen. Ein Beispiel für eine empfehlenswerte Struktur sieht wie folgt aus:

src/
│
├── layouts/           # Komponenten für wiederkehrende Layouts
│   └── MainLayout.jsx
│
├── pages/             # Hauptseiten der Anwendung
│   ├── Home.jsx
│   ├── Products.jsx
│   ├── ProductDetails.jsx
│   ├── Cart.jsx
│   └── NotFound.jsx
│
├── routes/            # Routendefinitionen
│   └── index.jsx
│
├── App.jsx            # Hauptkomponente
└── main.jsx           # React-Initialisierung

Die Trennung von Layouts, Seiten und Routen fördert die Modularität und vereinfacht die Zusammenarbeit im Team.

Schritt 2: Den Router mit createBrowserRouter erstellen

Erstelle eine neue Datei unter src/routes/index.jsx und definiere deine Routen. Hier ein vollständiges Beispiel:

import { createBrowserRouter } from "react-router-dom";
import MainLayout from "../layouts/MainLayout";
import Home from "../pages/Home";
import Products from "../pages/Products";
import ProductDetails from "../pages/ProductDetails";
import Cart from "../pages/Cart";
import NotFound from "../pages/NotFound";

export const router = createBrowserRouter([
  {
    path: "/",
    element: <MainLayout />,
    children: [
      { index: true, element: <Home /> },
      { path: "products", element: <Products /> },
      { path: "products/:id", element: <ProductDetails /> },
      { path: "cart", element: <Cart /> },
    ],
  },
  { path: "*", element: <NotFound /> },
]);

In diesem Beispiel wird das MainLayout als übergeordnetes Layout definiert, das alle Unterseiten umschließt. Die children-Eigenschaft ermöglicht die Integration weiterer Routen innerhalb desselben Layouts.

Schritt 3: Den Router in der Hauptanwendung einbinden

Die Integration des Routers in deine Anwendung erfolgt über die RouterProvider-Komponente. Passe dazu die Datei main.jsx wie folgt an:

import React from "react";
import ReactDOM from "react-dom/client";
import { RouterProvider } from "react-router-dom";
import { router } from "./routes";

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <RouterProvider router={router} />
  </React.StrictMode>
);

Durch diese Konfiguration wird der Router außerhalb des React-Baums initialisiert und an die Anwendung übergeben. Dies entspricht den aktuellen Empfehlungen von React Router für moderne Anwendungen.

Schritt 4: Ein Layout für wiederkehrende Strukturen erstellen

Ein zentrales Layout vereinheitlicht das Erscheinungsbild deiner Anwendung. Erstelle dazu eine neue Datei src/layouts/MainLayout.jsx:

import { Outlet } from "react-router-dom";

const MainLayout = () => {
  return (
    <>
      <header>Navigation</header>
      <main>
        <Outlet />
      </main>
      <footer>Fußzeile</footer>
    </>
  );
};

export default MainLayout;

Die Outlet-Komponente fungiert als Platzhalter für die gerenderten Unterseiten. Jede Route wird innerhalb dieses Layouts angezeigt, was die Konsistenz der Benutzeroberfläche sicherstellt.

Praktische Anwendungsfälle und Erweiterungen

Mit der Einrichtung von createBrowserRouter stehen dir zahlreiche Möglichkeiten offen:

  • Geschützte Routen: Implementiere Authentifizierungsmechanismen, um sensible Bereiche abzusichern.
  • Datenvorladung: Nutze loaders, um Daten bereits vor dem Rendern der Komponente zu laden.
  • Formularverarbeitung: Die action-Funktion ermöglicht die Verarbeitung von Formulardaten.
  • Fehlerseiten: Definiere benutzerdefinierte Fehlerseiten für nicht gefundene Routen.
  • Lazy Loading: Lade Komponenten erst bei Bedarf, um die Ladezeit zu optimieren.
  • Dynamische Routen: Erstelle Routen mit variablen Parametern, z. B. für Produktdetails.

Diese Funktionen machen createBrowserRouter zu einer leistungsstarken Wahl für moderne React-Anwendungen. Durch die klare Trennung von Routenlogik und Komponenten wird der Code wartbarer und skalierbarer.

Die Zukunft der React-Router-Einrichtung liegt in der Nutzung dieser modernen Methoden. Sie ermöglichen nicht nur eine effizientere Entwicklung, sondern auch die Integration fortschrittlicher Features mit minimalem Aufwand. Beginne noch heute mit der Umstellung und profitiere von einer strukturierteren und leistungsfähigeren Anwendung.

KI-Zusammenfassung

React uygulamalarında modern yönlendirme için createBrowserRouter kullanımını öğrenin. Adım adım kurulum, yerleşik düzenler, korumalı rotalar ve ölçeklenebilir yapılar hakkında detaylı rehber.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #MVYU36

0 / 1200 ZEICHEN

Menschen-Check

5 + 6 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.