En aquest tema, aprendrem a configurar React Router, una biblioteca essencial per gestionar la navegació en aplicacions React. React Router ens permet crear aplicacions d'una sola pàgina (SPA) amb múltiples vistes i rutes.
Objectius
- Comprendre la importància de React Router.
- Instal·lar i configurar React Router en una aplicació React.
- Crear rutes bàsiques i navegar entre elles.
- Què és React Router?
React Router és una biblioteca de navegació per a aplicacions React que permet:
- Definir rutes per a diferents components.
- Navegar entre aquestes rutes sense recarregar la pàgina.
- Gestionar la història de navegació.
- Instal·lació de React Router
Per començar, necessitem instal·lar React Router en el nostre projecte. Utilitzarem react-router-dom
, que és la versió de React Router per a aplicacions web.
Pas 1: Instal·lació
Obre el terminal i executa la següent comanda:
Pas 2: Configuració bàsica
Un cop instal·lat, podem començar a configurar React Router en la nostra aplicació.
- Configuració bàsica de React Router
Pas 1: Crear un component de navegació
Primer, crearem un component de navegació que ens permetrà moure'ns entre diferents rutes.
// src/components/Navbar.js import React from 'react'; import { Link } from 'react-router-dom'; const Navbar = () => { return ( <nav> <ul> <li><Link to="/">Inici</Link></li> <li><Link to="/about">Sobre nosaltres</Link></li> <li><Link to="/contact">Contacte</Link></li> </ul> </nav> ); }; export default Navbar;
Pas 2: Definir les rutes
Ara, definirem les rutes en el nostre component principal.
// src/App.js import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import Navbar from './components/Navbar'; const Home = () => <h2>Inici</h2>; const About = () => <h2>Sobre nosaltres</h2>; const Contact = () => <h2>Contacte</h2>; const App = () => { return ( <Router> <div> <Navbar /> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Switch> </div> </Router> ); }; export default App;
Explicació del codi
- BrowserRouter (
Router
): És el component que envolta tota l'aplicació i gestiona la història de navegació. - Route: Defineix una ruta específica i el component que s'ha de renderitzar quan la URL coincideix amb el
path
. - Switch: Renderitza només la primera ruta que coincideix. Això és útil per evitar que múltiples rutes es renderitzin al mateix temps.
- Navegació entre rutes
Amb la configuració anterior, ja podem navegar entre les diferents rutes utilitzant els enllaços del component Navbar
.
- Exercici pràctic
Exercici
- Afegeix una nova ruta
/services
que mostri un componentServices
amb el text "Serveis". - Afegeix un enllaç a
Navbar
per a la nova ruta.
Solució
// src/components/Navbar.js import React from 'react'; import { Link } from 'react-router-dom'; const Navbar = () => { return ( <nav> <ul> <li><Link to="/">Inici</Link></li> <li><Link to="/about">Sobre nosaltres</Link></li> <li><Link to="/contact">Contacte</Link></li> <li><Link to="/services">Serveis</Link></li> {/* Nou enllaç */} </ul> </nav> ); }; export default Navbar;
// src/App.js import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import Navbar from './components/Navbar'; const Home = () => <h2>Inici</h2>; const About = () => <h2>Sobre nosaltres</h2>; const Contact = () => <h2>Contacte</h2>; const Services = () => <h2>Serveis</h2>; // Nou component const App = () => { return ( <Router> <div> <Navbar /> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> <Route path="/services" component={Services} /> {/* Nova ruta */} </Switch> </div> </Router> ); }; export default App;
Conclusió
En aquesta secció, hem après a configurar React Router en una aplicació React, crear rutes bàsiques i navegar entre elles. Aquesta configuració és fonamental per a qualsevol aplicació React que necessiti múltiples vistes o pàgines. En el proper tema, explorarem les rutes niades per gestionar estructures de navegació més complexes.
Curs de React
Mòdul 1: Introducció a React
- Què és React?
- Configuració de l'entorn de desenvolupament
- Hola Món en React
- JSX: Extensió de la sintaxi de JavaScript
Mòdul 2: Components de React
- Comprendre els components
- Components funcionals vs components de classe
- Props: Passar dades als components
- State: Gestionar l'estat del component
Mòdul 3: Treballar amb esdeveniments
- Gestionar esdeveniments en React
- Renderització condicional
- Llistes i claus
- Formularis i components controlats
Mòdul 4: Conceptes avançats de components
- Elevar l'estat
- Composició vs herència
- Mètodes del cicle de vida de React
- Hooks: Introducció i ús bàsic
Mòdul 5: Hooks de React
Mòdul 6: Enrutament en React
Mòdul 7: Gestió de l'estat
- Introducció a la gestió de l'estat
- API de context
- Redux: Introducció i configuració
- Redux: Accions i reductors
- Redux: Connexió amb React
Mòdul 8: Optimització del rendiment
- Tècniques d'optimització del rendiment de React
- Memorització amb React.memo
- Hooks useMemo i useCallback
- Divisió de codi i càrrega mandrosa
Mòdul 9: Proves en React
- Introducció a les proves
- Proves unitàries amb Jest
- Proves de components amb React Testing Library
- Proves de punta a punta amb Cypress
Mòdul 10: Temes avançats
- Renderització del costat del servidor (SSR) amb Next.js
- Generació de llocs estàtics (SSG) amb Next.js
- TypeScript amb React
- React Native: Construir aplicacions mòbils