react-router vs react-router-dom
Comparaison des packages npm "Routage dans les applications React"
1 An
react-routerreact-router-domPackages similaires:
Qu'est-ce que Routage dans les applications React ?

Les bibliothèques de routage pour React sont des outils qui permettent aux développeurs de créer des applications à page unique (SPA) avec une navigation fluide et dynamique. Elles gèrent l'historique de navigation, le rendu conditionnel des composants en fonction de l'URL et la gestion des transitions entre les différentes vues de l'application. react-router est la bibliothèque de base qui fournit les fonctionnalités essentielles de routage, tandis que react-router-dom est une extension conçue spécifiquement pour les applications web, offrant des composants et des fonctionnalités supplémentaires adaptés aux environnements de navigateur.

Tendance de téléchargements npm
Classement des GitHub Stars
Détail des statistiques
Package
Téléchargements
Stars
Taille
Issues
Publication
Licence
react-router12,696,80654,1672.36 MB266il y a 11 joursMIT
react-router-dom11,616,79854,1675.44 kB266il y a 11 joursMIT
Comparaison des fonctionnalités: react-router vs react-router-dom

Composants de Routage

  • react-router:

    react-router fournit des composants de routage de base tels que Route et Switch, qui permettent de définir des routes et de rendre des composants en fonction de l'URL. Cependant, il n'inclut pas de composants spécifiques au navigateur, ce qui le rend plus léger mais moins fonctionnel pour les applications web.

  • react-router-dom:

    react-router-dom étend react-router en ajoutant des composants spécifiques au navigateur comme BrowserRouter, Link et NavLink, qui facilitent la création de liens et la gestion de l'historique de navigation. Cela le rend plus complet et adapté aux applications web.

Gestion de l'Historique

  • react-router:

    react-router gère l'historique de navigation de manière abstraite, ce qui signifie qu'il peut fonctionner avec différents types d'historique (par exemple, navigateur, hash, mémoire) sans dépendre d'une API spécifique. Cela le rend flexible et adaptable à différents environnements.

  • react-router-dom:

    react-router-dom utilise l'API d'historique du navigateur pour gérer la navigation dans les applications web. Il fournit des composants comme Link et NavLink qui s'appuient sur l'historique du navigateur pour créer des transitions fluides entre les pages.

Support des Applications à Page Unique (SPA)

  • react-router:

    react-router est conçu pour les applications à page unique (SPA) et permet un rendu dynamique des composants en fonction de l'URL. Il prend en charge le routage imbriqué, les routes dynamiques et les redirections, ce qui le rend puissant pour les applications modernes.

  • react-router-dom:

    react-router-dom prend également en charge les applications à page unique (SPA) tout en ajoutant des fonctionnalités spécifiques au navigateur. Il permet un routage imbriqué, la gestion des redirections et des routes dynamiques, tout en offrant des composants supplémentaires qui améliorent l'expérience de navigation.

Accessibilité et Navigation au Clavier

  • react-router:

    react-router fournit une base solide pour créer des applications accessibles, mais il appartient aux développeurs de s'assurer que les composants rendus sont accessibles. La bibliothèque elle-même ne fournit pas de fonctionnalités spécifiques pour la navigation au clavier ou l'accessibilité.

  • react-router-dom:

    react-router-dom améliore l'accessibilité des applications web en fournissant des composants comme Link et NavLink, qui sont conçus pour être accessibles par défaut. La bibliothèque encourage les bonnes pratiques d'accessibilité, mais les développeurs doivent toujours veiller à rendre leurs composants personnalisés accessibles.

Exemple de Code

  • react-router:

    Exemple de routage de base avec react-router

    import { BrowserRouter as Router, Route, Switch } from 'react-router';
    
    function App() {
      return (
        <Router>
          <Switch>
            <Route path="/" exact>
              <h1>Page d'accueil</h1>
            </Route>
            <Route path="/about">
              <h1>À propos</h1>
            </Route>
          </Switch>
        </Router>
      );
    }
    
  • react-router-dom:

    Exemple de routage avec react-router-dom

    import { BrowserRouter as Router, Route, Link, Switch } from 'react-router-dom';
    
    function App() {
      return (
        <Router>
          <nav>
            <Link to="/">Accueil</Link>
            <Link to="/about">À propos</Link>
          </nav>
          <Switch>
            <Route path="/" exact>
              <h1>Page d'accueil</h1>
            </Route>
            <Route path="/about">
              <h1>À propos</h1>
            </Route>
          </Switch>
        </Router>
      );
    }
    
Comment choisir: react-router vs react-router-dom
  • react-router:

    Choisissez react-router si vous développez une application qui nécessite des fonctionnalités de routage de base et que vous souhaitez garder votre bundle léger. Cette bibliothèque est idéale pour les projets qui n'ont pas besoin des composants spécifiques au navigateur.

  • react-router-dom:

    Choisissez react-router-dom si vous travaillez sur une application web et que vous avez besoin de composants supplémentaires comme Link, BrowserRouter et Route qui facilitent le routage dans un environnement de navigateur. Cette bibliothèque est plus adaptée aux applications web qui nécessitent une navigation avancée.