En aquest tema, aprendrem a configurar i planificar un projecte complet en React. Aquest és un pas crucial per assegurar-nos que el nostre projecte estigui ben organitzat i sigui fàcil de mantenir. A més, una bona planificació ens ajudarà a identificar els requisits i les funcionalitats necessàries abans de començar a codificar.
Objectius del tema
- Configurar l'entorn de desenvolupament per al projecte.
- Planificar l'arquitectura del projecte.
- Definir els requisits i les funcionalitats de l'aplicació.
- Crear un pla de treball i un cronograma.
- Configuració de l'entorn de desenvolupament
Instal·lació de Node.js i npm
Per començar, necessitem tenir instal·lats Node.js i npm (Node Package Manager). Si no els tens instal·lats, pots descarregar-los des de nodejs.org.
Creació d'un nou projecte amb Create React App
Create React App és una eina que ens permet crear una nova aplicació React amb una configuració mínima. Per crear un nou projecte, executa les següents comandes al terminal:
Això crearà una nova aplicació React anomenada my-app
i iniciarà el servidor de desenvolupament.
Instal·lació de dependències addicionals
És possible que necessitem algunes biblioteques addicionals per al nostre projecte. Per exemple, podem necessitar React Router per a la navegació, Redux per a la gestió de l'estat, o Axios per a les peticions HTTP. Podem instal·lar aquestes dependències amb npm:
- Planificació de l'arquitectura del projecte
Estructura de carpetes
Una bona estructura de carpetes ens ajudarà a mantenir el nostre projecte organitzat. Aquí tens una estructura de carpetes recomanada:
my-app/ ├── public/ ├── src/ │ ├── components/ │ ├── pages/ │ ├── services/ │ ├── store/ │ ├── App.js │ ├── index.js │ └── ... ├── package.json └── ...
components/
: Contindrà els components reutilitzables.pages/
: Contindrà els components de pàgina.services/
: Contindrà els serveis per a les peticions HTTP.store/
: Contindrà la configuració de Redux.
Definició de rutes
Si la nostra aplicació té múltiples pàgines, necessitarem definir les rutes. Podem fer-ho utilitzant React Router. Aquí tens un exemple de com definir les rutes en App.js
:
import React from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import HomePage from './pages/HomePage'; import AboutPage from './pages/AboutPage'; function App() { return ( <Router> <Switch> <Route path="/" exact component={HomePage} /> <Route path="/about" component={AboutPage} /> </Switch> </Router> ); } export default App;
- Definició dels requisits i funcionalitats
Requisits funcionals
Els requisits funcionals descriuen les funcionalitats que l'aplicació ha de tenir. Per exemple:
- L'usuari ha de poder registrar-se i iniciar sessió.
- L'usuari ha de poder veure una llista de productes.
- L'usuari ha de poder afegir productes al carret de la compra.
Requisits no funcionals
Els requisits no funcionals descriuen les característiques de qualitat de l'aplicació. Per exemple:
- L'aplicació ha de ser responsiva.
- L'aplicació ha de carregar-se en menys de 2 segons.
- L'aplicació ha de ser accessible.
- Creació d'un pla de treball i cronograma
Divisió del treball en tasques
Dividim el treball en tasques més petites i manejables. Per exemple:
- Configurar l'entorn de desenvolupament.
- Crear els components de la interfície d'usuari.
- Implementar la gestió de l'estat amb Redux.
- Integrar l'API per a les peticions HTTP.
- Escriure proves unitàries i de components.
Estimació del temps
Estimem el temps necessari per completar cada tasca. Això ens ajudarà a crear un cronograma realista.
Creació del cronograma
Organitzem les tasques en un cronograma. Aquí tens un exemple de cronograma:
Setmana | Tasca |
---|---|
1 | Configurar l'entorn de desenvolupament |
2 | Crear els components de la interfície d'usuari |
3 | Implementar la gestió de l'estat amb Redux |
4 | Integrar l'API per a les peticions HTTP |
5 | Escriure proves unitàries i de components |
Conclusió
En aquesta secció, hem après a configurar l'entorn de desenvolupament, planificar l'arquitectura del projecte, definir els requisits i les funcionalitats, i crear un pla de treball i un cronograma. Amb una bona planificació, estarem millor preparats per construir una aplicació React completa i mantenible. En el següent tema, començarem a construir la interfície d'usuari.
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