Debido a que React es de tipo SPA(single page application), no recarga la página cuando cambiamos de url. Sin embargo, router nos ayuda a crear otra página para poder navegar en nuestra aplicación. Imagina twitter web, cuando das click en un tweet, se abre otra sección donde puedes ver el tweet. Sería un problema que al momento de darle click, no cambie la url, por lo que ese tweet no tiene dirección propia, no se guardaría en tu historial y sería un problema el SEO. Para ello, usamos router, que se encargará de administrar esta situación, donde en el momento que abras el tweet, cambie la URL, pero todavía mantenga ese dinamismo y rapidez de una SPA.
#para instalar
npm install react-router-dom
//import en App.jsx
import { BrowserRouter, Routes, Route } from 'react-router-dom';
Te permite implementar enrutado dinámico en la aplicación. Nos facilita pues podemos enrutar nuestra app basada en componentes de la app (como login o recoverypassword).
//ejemplo de uso
const App = () => {
return (
<BrowserRouter>
<Layout>
<Routes>
<Route exact path="/" element={<Home />} />
<Route exact path="/login" element={<Login />} />
<Route exact path="/recovery-password" element={<RecoveryPassword />} />
<Route path="*" element={<NotFound />} />
</Routes>
</Layout>
</BrowserRouter>
);
}
BrowserRoute sirve para implementar router en el navegador
Layout solamente renderizará el route que coincida efectivamente con la URL especificada.
https://johnserrano.co/blog/aprende-a-crear-rutas-con-react-router