„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > React Routing beherrschen: Eine vollständige Anleitung zur Navigation in Ihrer Anwendung

React Routing beherrschen: Eine vollständige Anleitung zur Navigation in Ihrer Anwendung

Veröffentlicht am 07.11.2024
Durchsuche:792

Mastering React Routing: A Complete Guide to Navigating Your Application

1. Einführung in React Router

React Router ist eine Bibliothek zur Handhabung des Routings in React-Anwendungen. Es ermöglicht Ihrer App, zwischen verschiedenen Komponenten und Ansichten zu navigieren, ohne die gesamte Seite neu laden zu müssen, was für ein nahtloses Benutzererlebnis sorgt.


2. Grundlegende Einrichtung

Beginnen Sie mit der Installation von „react-router-dom“:

npm install react-router-dom

Grundlegendes Routing mit BrowserRouter, Routen und Route einrichten:

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';

const Home = () => 

Home

; const About = () =>

About

; const App = () => { return ( } /> } /> ); }; export default App;

3. Verschachteltes Routing

Für komplexere Apps können Sie Routen verschachteln. So richten Sie verschachtelte Routen in einer übergeordneten Komponente ein:

import React from 'react';
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';

const Dashboard = () => 

Dashboard Home

; const Profile = () =>

Your Profile

; const DashboardLayout = () => { return (
} /> } />
); }; const App = () => { return ( } /> ); }; export default App;

4. Dynamisches Routing

Dynamisches Routing ermöglicht die Übergabe von Parametern in der URL. So definieren Sie eine dynamische Route und greifen darauf zu:

import { useParams } from 'react-router-dom';

const User = () => {
  const { id } = useParams();
  return 

User ID: {id}

; }; const App = () => { return ( } /> ); }; export default App;

5. Geschützte Routen

Um geschützte Routen zu implementieren, können Sie eine benutzerdefinierte PrivateRoute-Komponente erstellen:

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

const useAuth = () => {
  const user = { loggedIn: true }; // Replace with actual auth logic
  return user && user.loggedIn;
};

const PrivateRoute = () => {
  const isAuth = useAuth();
  return isAuth ?  : ;
};

const App = () => {
  return (
    } />
        }>
          } />
        
      
  );
};

export default App;

6. Programmatische Navigation

Manchmal möchten Sie möglicherweise programmgesteuert navigieren, beispielsweise nach der Übermittlung eines Formulars. Verwenden Sie den useNavigate-Hook in React Router v6:

import { useNavigate } from 'react-router-dom';

const Login = () => {
  const navigate = useNavigate();

  const handleLogin = () => {
    // Login logic here...
    navigate('/dashboard');
  };

  return (
    

Login

); }; export default Login;

7. 404 Seiten

Behandeln Sie 404-Fehler (nicht gefunden), indem Sie eine Catch-All-Route erstellen:

const NotFound = () => 

404 - Page Not Found

; const App = () => { return ( } /> } /> } /> ); }; export default App;

8. Leistungsüberlegungen

Bei großen Anwendungen können Lazy-Loading-Routen die Leistung verbessern. So implementieren Sie Lazy Loading mit React.lazy() und Suspense:

import React, { Suspense, lazy } from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';

const Home = lazy(() => import('./Home'));
const About = lazy(() => import('./About'));

const App = () => {
  return (
    Loading...}>
        } />
          } />
        
  );
};

export default App;

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/mourya_modugula/mastering-react-routing-a-complete-guide-to-navigating-your-application-56dk?1 Bei Verstößen wenden Sie sich bitte an Study_golang@163 .com, um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3