react-router vs react-router-dom
Confronto dei pacchetti npm di "Routing in React"
1 Anno
react-routerreact-router-domPacchetti simili:
Cos'è Routing in React?

Le librerie di routing in React forniscono strumenti per gestire la navigazione all'interno delle applicazioni web costruite con React. Queste librerie consentono di definire percorsi, gestire la navigazione tra diverse viste e mantenere lo stato della cronologia del browser. react-router è la libreria principale che fornisce le funzionalità di routing, mentre react-router-dom è un pacchetto specifico per le applicazioni web che include componenti e funzionalità ottimizzati per il browser.

Trend di download npm
Classifica GitHub Stars
Dettaglio statistiche
Pacchetto
Download
Stars
Dimensione
Issues
Pubblicazione
Licenza
react-router12,696,80654,1672.36 MB266il y a 11 joursMIT
react-router-dom11,616,79854,1675.44 kB266il y a 11 joursMIT
Confronto funzionalità: react-router vs react-router-dom

Routing Core

  • react-router:

    react-router fornisce le funzionalità di routing di base, inclusa la definizione di percorsi e la gestione della navigazione. È progettato per essere utilizzato in vari ambienti, inclusi server e applicazioni mobili.

  • react-router-dom:

    react-router-dom estende react-router con componenti e funzionalità specifiche per il browser, rendendo più facile la creazione di applicazioni web con routing complesso.

Componenti Specifici del Browser

  • react-router:

    react-router non include componenti specifici per il browser, rendendolo adatto per l'uso in ambienti non browser.

  • react-router-dom:

    react-router-dom include componenti come BrowserRouter, Link e Route, che sono progettati per funzionare con il DOM del browser e semplificano la creazione di interfacce utente basate su percorsi.

Supporto per la Navigazione

  • react-router:

    react-router fornisce API per la navigazione programmatica e la gestione della cronologia, ma non include componenti UI per la navigazione.

  • react-router-dom:

    react-router-dom fornisce componenti come Link e NavLink che semplificano la creazione di collegamenti e la navigazione tra i percorsi.

Integrazione con il Browser

  • react-router:

    react-router può essere utilizzato in qualsiasi ambiente React, ma non è ottimizzato per le applicazioni web.

  • react-router-dom:

    react-router-dom è progettato specificamente per le applicazioni web e sfrutta le API del browser per gestire la navigazione e la cronologia.

Esempi di Codice

  • react-router:

    Esempio di routing di base con react-router

    import { Router, Route } from 'react-router';
    
    const App = () => (
      <Router>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Router>
    );
    
  • react-router-dom:

    Esempio di routing di base con react-router-dom

    import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
    
    const App = () => (
      <Router>
        <nav>
          <Link to="/">Home</Link>
          <Link to="/about">About</Link>
        </nav>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Router>
    );
    
Come scegliere: react-router vs react-router-dom
  • react-router:

    Scegli react-router se stai sviluppando una libreria o un'applicazione che non è specifica per il browser e hai bisogno solo delle funzionalità di routing di base senza componenti dipendenti dal DOM.

  • react-router-dom:

    Scegli react-router-dom se stai costruendo un'applicazione web e hai bisogno di componenti e funzionalità specifiche per il browser, come BrowserRouter, Link e Route, che semplificano la creazione di interfacce utente basate su percorsi.