react-router vs react-router-dom
Comparação de pacotes npm de "Roteamento em Aplicações React"
1 Ano
react-routerreact-router-domPacotes similares:
O que é Roteamento em Aplicações React?

As bibliotecas de roteamento em React são ferramentas essenciais para gerenciar a navegação entre diferentes componentes ou páginas em uma aplicação React. Elas permitem que os desenvolvedores definam rotas, que são mapeamentos entre URLs e componentes, facilitando a criação de interfaces de usuário dinâmicas e baseadas em navegação. O react-router é uma biblioteca de roteamento para aplicações React que fornece uma API flexível e poderosa para gerenciar a navegação entre diferentes partes de uma aplicação. O react-router-dom é uma extensão do react-router que adiciona funcionalidades específicas para aplicações web, como suporte para o DOM, roteamento baseado em navegador e componentes prontos para uso, como Link e Route.

Tendência de downloads npm
Ranking de GitHub Stars
Detalhe de estatísticas
Pacote
Downloads
Stars
Tamanho
Issues
Publicado em
Licença
react-router12,696,80654,1672.36 MB266il y a 11 joursMIT
react-router-dom11,616,79854,1675.44 kB266il y a 11 joursMIT
Comparação de funcionalidades: react-router vs react-router-dom

Suporte a Navegação

  • react-router:

    O react-router fornece uma API de roteamento básica que pode ser usada em qualquer ambiente React, incluindo aplicações móveis e de renderização do lado do servidor.

  • react-router-dom:

    O react-router-dom oferece suporte avançado para navegação em aplicações web, incluindo manipulação de histórico, links e navegação baseada em URL.

Componentes Prontos para Uso

  • react-router:

    O react-router não inclui componentes prontos para uso, pois é projetado para ser uma solução de roteamento genérica que pode ser usada em qualquer tipo de aplicação React.

  • react-router-dom:

    O react-router-dom inclui componentes prontos para uso, como Link, NavLink e Route, que facilitam a criação de interfaces de usuário baseadas em navegação.

Manipulação de Histórico

  • react-router:

    O react-router fornece uma API básica para manipulação de histórico, mas não inclui funcionalidades específicas para aplicações web.

  • react-router-dom:

    O react-router-dom integra-se perfeitamente com a API de histórico do navegador, permitindo navegação, retrocesso e avanço de forma intuitiva.

Flexibilidade

  • react-router:

    O react-router é altamente flexível e pode ser usado em uma variedade de ambientes, incluindo aplicações móveis e de renderização do lado do servidor.

  • react-router-dom:

    O react-router-dom é flexível dentro do contexto de aplicações web, mas é otimizado para aproveitar as funcionalidades específicas do navegador.

Exemplo de Código

  • react-router:

    Exemplo de Roteamento com react-router

    import { Router, Route } from 'react-router';
    import { createMemoryHistory } from 'history';
    
    const history = createMemoryHistory();
    
    function Home() {
      return <h2>Página Inicial</h2>;
    }
    
    function About() {
      return <h2>Sobre</h2>;
    }
    
    function App() {
      return (
        <Router history={history}>
          <Route path="/" component={Home} />
          <Route path="/about" component={About} />
        </Router>
      );
    }
    
  • react-router-dom:

    Exemplo de Roteamento com react-router-dom

    import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
    
    function Home() {
      return <h2>Página Inicial</h2>;
    }
    
    function About() {
      return <h2>Sobre</h2>;
    }
    
    function App() {
      return (
        <Router>
          <nav>
            <Link to="/">Início</Link>
            <Link to="/about">Sobre</Link>
          </nav>
          <Route path="/" exact component={Home} />
          <Route path="/about" component={About} />
        </Router>
      );
    }
    
Como escolher: react-router vs react-router-dom
  • react-router:

    Escolha o react-router se estiver desenvolvendo uma aplicação React que não depende de funcionalidades específicas do navegador ou se estiver criando uma aplicação que utiliza renderização do lado do servidor (SSR) ou renderização estática.

  • react-router-dom:

    Escolha o react-router-dom se estiver desenvolvendo uma aplicação web React que precisa de suporte completo para navegação baseada em navegador, incluindo manipulação de histórico, links e roteamento baseado em URL.