Heim > Web-Frontend > js-Tutorial > React Router V6: Ein Anfängerführer

React Router V6: Ein Anfängerführer

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-08 11:33:11
Original
484 Leute haben es durchsucht

React Router v6: A Beginner's Guide

Dieses Tutorial bietet einen umfassenden Leitfaden zum React Router V6, der führenden Routing -Bibliothek für React -Anwendungen. Erfahren Sie, wie Sie URLs und Navigation in Ihren React -Projekten effizient verwalten können.

Schlüssellernen:

  • Mastering React Router V6: Diese Anleitung deckt die Grundlagen der Einrichtung und Verwendung von React -Router V6 für die nahtlose Navigation und URL -Verwaltung in Ihren React -Anwendungen ab.
  • Routennavigation und Rendering: Erstellen Sie, wie Sie dynamische und verschachtelte Routen mit Kernkomponenten wie <routes></routes>, <route></route> und <link> erstellen, einschließlich der Verwendung von Pfadparametern für flexibler Routing.
  • Fortgeschrittene Routing -Techniken: Erforschen Sie erweiterte Konzepte wie geschützte Routen, programmatische Navigation mit useNavigate und die neuesten Verbesserungen in React Router v6.4, sodass Sie anspruchsvolle Routing -Lösungen für moderne React -Anwendungen aufbauen können .

Einführung:

reagieren hervorragende Leistungen beim Erstellen dynamischer Webanwendungen mit mehreren Ansichten (Seiten). Im Gegensatz zu herkömmlichen mehrseitigen Apps sollte die Navigation die gesamte Seite nicht neu laden. Stattdessen sollten die Ansichten innerhalb der vorhandenen Seite reibungslos rendern. React Router erreicht dies deklarativ und stellt eine nahtlose Benutzererfahrung sicher. Benutzer erwarten:

  • Einzigartige URLs für jede Ansicht: Lesezeichen zulassen (z. B. www.example.com/products).
  • Funktionsrück-/Vorwärtsschaltflächen: Standard -Browser -Navigation sollte wie erwartet funktionieren.
  • URLs für verschachtelte Ansichten: unterstützende dynamische, verschachtelte Strukturen (z. B. example.com/products/shoes/101).
Der deklarative Ansatz von React Router reagiert das Routing durch Angabe der gewünschten Routenstruktur:

<Route path="/about" element={<About />} />
Nach dem Login kopieren
Nach dem Login kopieren

Komponenten können überall in der Struktur Ihrer Anwendung platziert werden. Die Einfachheit von Komponenten wie <Route>, <Route> und anderen React -Router -APIs erleichtert das Routing leicht zu implementieren. <Link>

Wichtiger Hinweis: React Router ist eine von der Remix-Software verwaltete Bibliothek von Drittanbietern, kein offizielles Facebook/Meta-Produkt.

Übersicht:

Dieses Tutorial Covers:

    Einrichten von React und React Router mit NPM.
  1. grundlegende Routing -Konzepte.
  2. verschachteltes Routing.
  3. dynamisches verschachteltes Routing mit Pfadparametern.
  4. implementieren geschützte Routen.
Der vollständige Projektcode ist auf GitHub verfügbar (Link soll hier eingefügt werden).

Einrichten von React Router:

Sie benötigen node.js installiert. Wenn nicht, laden Sie es von der offiziellen Node.js -Website herunter. Erwägen Sie, einen Versionsmanager für das einfachere Node.js -Management zu verwenden. NPM (Node Package Manager) ist mit node.js. Überprüfen Sie die Installation:

<Route path="/about" element={<About />} />
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen eines neuen React -Projekts mit React App Create React App:

node -v
npm -v
Nach dem Login kopieren

React Router DOM installieren:

npx create-react-app react-router-demo
cd react-router-demo
Nach dem Login kopieren

Starten Sie den Entwicklungsserver:

npm install react-router-dom
Nach dem Login kopieren

Ihre React -App mit React Router läuft jetzt unter http://localhost:3000/.

React Router Grundlagen:

Wir erstellen eine App mit drei Ansichten: Home, Kategorien und Produkte.

Die Routerkomponente

Wickeln Sie Ihre Haupt -App -Komponente mit einem Router ein: BrowserRouter oder HashRouter. BrowserRouter (unter Verwendung der HTML5 -Geschichte -API) wird im Allgemeinen für sauberere URLs bevorzugt:

npm start
Nach dem Login kopieren

Verlaufsobjekt

Jeder Router erstellt ein Verlaufsobjekt, das den Navigationsstapel verwaltet. Änderungen des Standortauslöser-Neuauflagens. useNavigate (Hook) liefert eine navigate -Funktion für die programmatische Navigation.

Link- und Routenkomponenten

<Route> rendert UI, wenn der Ort mit dem Pfad übereinstimmt. <Link> Bietet Navigation ohne Seiten -Reloads.

update App.js:

// src/index.js
import { BrowserRouter } from 'react-router-dom';
// ...
root.render(
  <React.StrictMode>
    <BrowserRouter>
      <App />
    </BrowserRouter>
  </React.StrictMode>
);
Nach dem Login kopieren

Auf diese Weise werden grundlegende Navigation und Routing festgelegt.

verschachteltes Routing:

Nestrouten durch Platzierung <Route> Komponenten in andere <Route> -Komponenten. Dies spiegelt die verschachtelte URL -Struktur wider.

modifizieren Sie App.js:

import { Link, Route, Routes } from 'react-router-dom';
// ... component definitions for Home, Categories, Products ...
export default function App() {
  return (
    <div>
      <nav>
        <ul>
          <li><Link to="/">Home</Link></li>
          <li><Link to="/categories">Categories</Link></li>
          <li><Link to="/products">Products</Link></li>
        </ul>
      </nav>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/categories" element={<Categories />} />
        <Route path="/products" element={<Products />} />
      </Routes>
    </div>
  );
}
Nach dem Login kopieren

erstellen Categories.js:

import { Link, Route, Routes } from 'react-router-dom';
import { Categories, Desktops, Laptops } from './Categories'; // Import nested route components

// ... other components ...

export default function App() {
  return (
    <div>
      {/* ... navigation ... */}
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/categories" element={<Categories />}>
          <Route path="desktops" element={<Desktops />} />
          <Route path="laptops" element={<Laptops />} />
        </Route>
        <Route path="/products/*" element={<Products />} /> {/* Note the trailing * */}
      </Routes>
    </div>
  );
}
Nach dem Login kopieren

Die <Outlet> -Komponente rendert untergeordnete Routen innerhalb der übergeordneten Route.

Dynamisches verschachteltes Routing:

Verwenden Sie Pfadparameter, um dynamische Routen zu erstellen. Fügen Sie der übergeordneten Route eine nachverfolgende * hinzu, um untergeordnete Routen zu ermöglichen. Verwenden Sie useParams, um auf Parameter zuzugreifen.

update Products.js:

import { Link, Outlet } from 'react-router-dom';

export const Categories = () => (
  <div>
    <h2>Categories</h2>
    <nav>
      <ul>
        <li><Link to="desktops">Desktops</Link></li>
        <li><Link to="laptops">Laptops</Link></li>
      </ul>
    </nav>
    <Outlet />
  </div>
);

export const Desktops = () => <h3>Desktop PC Page</h3>;
export const Laptops = () => <h3>Laptops Page</h3>;
Nach dem Login kopieren

auf den Parameter :productId wird in der Product -Komponente mit useParams.

zugegriffen

Schutzrouten:

Verwenden Sie useNavigate für die programmatische Umleitung und erstellen Sie eine benutzerdefinierte PrivateRoute -Komponente.

erstellen PrivateRoute.js:

// ... (import statements and productData) ...

const Products = () => (
  <div>
    <h2>Products</h2>
    <ul> {/* ... linkList (generated from productData) ... */} </ul>
    <Routes>
      <Route path=":productId" element={<Product data={productData} />} />
      <Route index element={<p>Please select a product.</p>} />
    </Routes>
  </div>
);

// ... Product component ...
Nach dem Login kopieren

Fügen Sie eine Login -Komponente hinzu und integrieren Sie PrivateRoute in App.js, um die /admin -Route zu schützen. Denken Sie an die in der ursprünglichen Antwort genannten Sicherheitsüberlegungen.

Reagieren Sie den Router v6.4 und darüber hinaus:

reagieren Sie Router v6.4 Einführte Datenbelastungs- und Mutations -APIs (inspiriert von Remix). Diese APIs vereinfachen das Abholen und Verwalten von Daten innerhalb von Routen mithilfe von Ladern und Aktionen. Dieser Abschnitt würde eine separate, detailliertere Erklärung benötigen.

Zusammenfassung:

Dieses Tutorial bot einen umfassenden Überblick über React Router V6, das grundlegende und erweiterte Routing -Konzepte abdeckt. Denken Sie daran, die offizielle React-Router-Dokumentation für die aktuellsten Informationen und Details zu konsultieren.

Das obige ist der detaillierte Inhalt vonReact Router V6: Ein Anfängerführer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage