React

Gerenciamento de Rotas no React com React Router

Neste artigo vamos abordar um conceito importante dentro de aplicações com o React, O gerenciamento de Rotas no React com React Router.

há 1 ano 4 semanas


Você sabia que a TreinaWeb é a mais completa escola para desenvolvedores do mercado?

O que você encontrará aqui na TreinaWeb?

Conheça os nossos cursos

O React Router é uma biblioteca para gerenciamento de rotas em aplicativos React e com ele podemos configurar a navegação entre as páginas de nosso projeto de forma simples e com muitos benefícios.

Nos sites tradicionais, ao clicar em um link, o navegador solicita um novo documento HTML para o servidor, carregando todos os documentos HTML, CSS e JavaScript em cada nova tela.

O React Router permite que, ao clicar em um link, o site atualize a página sem fazer outra solicitação para o servidor. Com isso, o site pode renderizar imediatamente a próxima tela.

React - Fundamentos
Curso React - Fundamentos
Conhecer o curso

Instalação

Antes de começarmos a explicar todo o processo de instalação do React Router, vamos precisar criar um novo projeto React.

Para isso, basta executar o seguinte comando:

npx create-react-app my-app

Caso você esteja com dúvidas sobre como instalar e rodar o React, você pode ler o seguinte artigo: Como instalar e executar o React

Agora, basta instalar a biblioteca do React Router. No entanto, estamos utilizando como exemplo uma aplicação web, então teremos que instalar o pacote react-router-dom, com o seguinte comando:

npm install react-router-dom

Configurando roteamento

Para configurar o React Router em um projeto React, o primeiro passo é criar um roteador do navegador e configurar a primeira rota. Isso pode ser feito no arquivo principal do React, o index.js.

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

import {
  createBrowserRouter,
} from "react-router-dom";

const router = createBrowserRouter([]);

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
       <App />
  </React.StrictMode>
);

O método createBrowserRouter é o método recomendado para todos os projetos da web.

Podemos criar um objeto de configuração dentro da lista no createBrowserRouter, que nada mais é que a configuração das rotas

const router = createBrowserRouter([
  {
    path: "/",
    element: <div>Hello world!</div>,
  },
]);

A propriedade path indica o endpoint do navegador e a propriedade element é justamente o JSX que irá renderizar na tela.

Agora precisamos substituir o componente App por RouterProvider e passar a constante router no provider.

O RouterProvider é responsável por rotear todos os componentes passados no createBrowserRouter.

Com isso, teremos o seguinte cenário:

import React from 'react';
import ReactDOM from 'react-dom/client';

import {
  createBrowserRouter, RouterProvider
} from "react-router-dom";

const router = createBrowserRouter([
  {
    path: "/",
    element: <div>Hello world!</div>,
  },
]);

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <RouterProvider router={router} />
  </React.StrictMode>
);

React - Despertando o Poder dos Hooks
Curso React - Despertando o Poder dos Hooks
Conhecer o curso

Componente Home e Sobre

Agora vamos criar dois componentes para utilizar, que vão servir como as novas telas.

O primeiro será a tela Home. Então crie um arquivo home.js e adicione o seguinte componente:


import { Link } from 'react-router-dom'

export default function Home() {
    return (
        <>
            <h2>Home</h2>
            <Link to={"/sobre"}>Ir para Sobre</Link>
        </>

    );
}

Agora o componente Sobre. Crie um arquivo sobre.js e defina o seguinte componente:


import { Link } from 'react-router-dom'

export default function Sobre() {
    return (
        <>
            <h2>Sobre</h2>
            <Link to={"/"}>Ir para Home</Link>
        </>

    );
}

Note que estamos utilizando o componente Link, em ambas as telas, para permitir a navegação entre elas. A propriedade to do componente Link deve ser definida com o mesmo valor do path que foi definido no createBrowserRouter.

Agora basta adicionar os novos componentes no createBrowserRouter para que a navegação funcione:

const router = createBrowserRouter([
  {
    path: "/",
    element: <Home />,
  }, {
    path: "/sobre",
    element: <Sobre />,
  },
]);

Agora temos duas telas onde a navegação entre elas está sendo gerenciada pelo React Router.

Conclusão

O React Router é uma excelente opção para gerenciamento de rotas em projetos React, permitindo uma navegação mais fluida e sem a necessidade de fazer novas solicitações ao servidor. Com ele, podemos criar rotas facilmente e criar a navegação entre as páginas do nosso aplicativo de forma simples e intuitiva.

Espero que este artigo tenha ajudado a entender melhor como configurar e utilizar o React Router em seus projetos React.

Sei que você gostou deste artigo e tenho certeza de que a formação para Desenvolvedor React Funcional irá ajudá-lo a se tornar um desenvolvedor muito melhor. São 14h17 de video com muito conteúdo e um total de 59 exercícios.

Veja quais são os cursos que fazem parte desta formação:

Autor(a) do artigo

Ariel Sardinha
Ariel Sardinha

Professor e desenvolvedor. Formando em engenharia de software e Computação - Licenciatura. É autor de cursos em diversos temas, como, desenvolvimento front-end, Flutter, JavaScript, React,js e Vue.js. Nas horas vagas adora estudar sobre tecnologia, filmes e brincar com a pequena Maria Eduarda. arielsardinha

Todos os artigos

Artigos relacionados Ver todos