En aquesta secció, aprendrem com assegurar-nos que la nostra aplicació React funciona correctament mitjançant proves i com desplegar-la en un entorn de producció. Aquest és un pas crucial per garantir que l'aplicació sigui robusta i estigui preparada per als usuaris finals.
Proves
- Proves unitàries amb Jest
Jest és un marc de proves JavaScript que permet realitzar proves unitàries de manera senzilla i eficient.
Instal·lació de Jest
Configuració de Jest
Afegiu el següent script al vostre package.json
per executar Jest:
Exemple de prova unitària
// sum.js function sum(a, b) { return a + b; } module.exports = sum; // sum.test.js const sum = require('./sum'); test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); });
Per executar les proves, utilitzeu:
- Proves de components amb React Testing Library
React Testing Library és una eina que facilita la prova de components React de manera que reflecteixi com els usuaris interactuen amb l'aplicació.
Instal·lació de React Testing Library
Exemple de prova de component
// MyComponent.js import React from 'react'; function MyComponent() { return <div>Hello, World!</div>; } export default MyComponent; // MyComponent.test.js import React from 'react'; import { render } from '@testing-library/react'; import MyComponent from './MyComponent'; test('renders Hello, World!', () => { const { getByText } = render(<MyComponent />); const linkElement = getByText(/Hello, World!/i); expect(linkElement).toBeInTheDocument(); });
- Proves de punta a punta amb Cypress
Cypress és una eina de proves de punta a punta que permet simular la interacció de l'usuari amb l'aplicació.
Instal·lació de Cypress
Configuració de Cypress
Afegiu el següent script al vostre package.json
per executar Cypress:
Exemple de prova de punta a punta
// cypress/integration/sample_spec.js describe('My First Test', () => { it('Visits the app', () => { cy.visit('http://localhost:3000'); cy.contains('Hello, World!'); }); });
Per executar Cypress, utilitzeu:
Desplegament
- Construir l'aplicació per a producció
Per construir l'aplicació per a producció, utilitzeu el següent comandament:
Això crearà una carpeta build
amb tots els fitxers optimitzats per a producció.
- Desplegament a Netlify
Netlify és una plataforma popular per desplegar aplicacions web estàtiques.
Pas 1: Crear un compte a Netlify
Visiteu Netlify i creeu un compte.
Pas 2: Connectar el repositori
Connecteu el vostre repositori de GitHub, GitLab o Bitbucket a Netlify.
Pas 3: Configurar els paràmetres de desplegament
- Branch to deploy:
main
(o la branca que utilitzeu) - Build command:
npm run build
- Publish directory:
build
Pas 4: Desplegar
Feu clic a "Deploy site" i Netlify començarà a construir i desplegar la vostra aplicació.
- Desplegament a Vercel
Vercel és una altra plataforma popular per desplegar aplicacions React.
Pas 1: Crear un compte a Vercel
Visiteu Vercel i creeu un compte.
Pas 2: Connectar el repositori
Connecteu el vostre repositori de GitHub, GitLab o Bitbucket a Vercel.
Pas 3: Configurar els paràmetres de desplegament
- Framework Preset:
Create React App
- Build and Output Settings: Deixeu els valors per defecte.
Pas 4: Desplegar
Feu clic a "Deploy" i Vercel començarà a construir i desplegar la vostra aplicació.
Resum
En aquesta secció, hem après com realitzar proves unitàries, de components i de punta a punta per assegurar-nos que la nostra aplicació React funciona correctament. També hem vist com desplegar l'aplicació en un entorn de producció utilitzant Netlify i Vercel. Amb aquestes eines i tècniques, podeu garantir que la vostra aplicació React sigui robusta i estigui preparada per als usuaris finals.
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