react-router vs react-router-dom
"Routing in React-Anwendungen" npm-Pakete Vergleich
1 Jahr
react-routerreact-router-domÄhnliche Pakete:
Was ist Routing in React-Anwendungen?

Routing in React-Anwendungen bezieht sich auf die Implementierung von Navigation und URL-Verwaltung innerhalb einer React-Anwendung. Es ermöglicht Entwicklern, verschiedene Komponenten oder Ansichten basierend auf der aktuellen URL anzuzeigen, was eine Single-Page-Anwendung (SPA) interaktiver und benutzerfreundlicher macht. Routing-Bibliotheken wie react-router bieten APIs zum Definieren von Routen, Verwalten des Navigationszustands und Erstellen von Links zwischen verschiedenen Teilen der Anwendung, ohne die Seite neu laden zu müssen. Dies verbessert die Leistung und das Benutzererlebnis, indem es nahtlose Übergänge zwischen verschiedenen Ansichten ermöglicht.

npm-Download-Trend
GitHub Stars Ranking
Statistik-Detail
Paket
Downloads
Stars
Größe
Issues
Veröffentlichung
Lizenz
react-router12,696,80654,1672.36 MB266vor 11 TagenMIT
react-router-dom11,616,79854,1675.44 kB266vor 11 TagenMIT
Funktionsvergleich: react-router vs react-router-dom

Zielplattform

  • react-router:

    react-router ist plattformunabhängig und kann in jeder React-Anwendung verwendet werden, einschließlich mobiler und serverseitiger Anwendungen.

  • react-router-dom:

    react-router-dom ist speziell für Webanwendungen konzipiert und nutzt DOM-spezifische Funktionen, um die Navigation und das Routing zu verbessern.

DOM-Interaktion

  • react-router:

    react-router interagiert nicht direkt mit dem DOM, was es für serverseitige Anwendungen geeignet macht.

  • react-router-dom:

    react-router-dom bietet Komponenten wie <Link> und <NavLink>, die die Interaktion mit dem DOM erleichtern und die Navigation innerhalb der Anwendung verbessern.

Zusätzliche Komponenten

  • react-router:

    react-router bietet die grundlegenden Routing-Funktionen, einschließlich <Route> und <Switch>, aber keine DOM-spezifischen Komponenten.

  • react-router-dom:

    react-router-dom bietet zusätzliche Komponenten wie <BrowserRouter>, <HashRouter> und <Link>, die speziell für Webanwendungen entwickelt wurden.

Verwendung von Hooks

  • react-router:

    react-router bietet Hooks wie useRouteMatch und useParams, die in jeder React-Anwendung verwendet werden können.

  • react-router-dom:

    react-router-dom bietet zusätzliche Hooks wie useHistory und useLocation, die speziell für die Navigation in Webanwendungen entwickelt wurden.

Beispielcode

  • react-router:

    Routing mit react-router

    import { BrowserRouter as Router, Route } from 'react-router';
    
    function App() {
      return (
        <Router>
          <Route path="/" component={Home} />
          <Route path="/about" component={About} />
        </Router>
      );
    }
    
  • react-router-dom:

    Routing mit react-router-dom

    import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
    
    function App() {
      return (
        <Router>
          <nav>
            <Link to="/">Home</Link>
            <Link to="/about">About</Link>
          </nav>
          <Route path="/" exact component={Home} />
          <Route path="/about" component={About} />
        </Router>
      );
    }
    
Wie man wählt: react-router vs react-router-dom
  • react-router:

    Wählen Sie react-router, wenn Sie eine Routing-Lösung für eine React-Anwendung benötigen, die keine DOM-spezifischen Funktionen erfordert. Es ist ideal für serverseitig gerenderte Anwendungen oder Umgebungen, in denen der Zugriff auf das DOM eingeschränkt ist.

  • react-router-dom:

    Wählen Sie react-router-dom, wenn Sie eine vollständige Routing-Lösung für Webanwendungen benötigen, die speziell für das DOM entwickelt wurde. Es bietet zusätzliche Komponenten und Funktionen, die die Arbeit mit Browser-APIs, Links und Navigation erleichtern.