Què és React?
React és una biblioteca de JavaScript per a la construcció d'interfícies d'usuari. Va ser desenvolupada per Facebook i és àmpliament utilitzada per crear aplicacions web modernes i dinàmiques. React permet crear components reutilitzables que gestionen el seu propi estat, facilitant la construcció d'aplicacions complexes.
Característiques Clau de React
- Components: React es basa en components, que són blocs de construcció reutilitzables.
- JSX: Una extensió de sintaxi que permet escriure codi HTML dins de JavaScript.
- Virtual DOM: React utilitza un Virtual DOM per millorar el rendiment de les aplicacions.
- Unidirectional Data Flow: El flux de dades en React és unidireccional, el que facilita la gestió de l'estat.
Configuració del Teu Entorn de Desenvolupament
Instal·lació de Node.js i npm
Abans de començar amb React, necessitaràs tenir instal·lats Node.js i npm (Node Package Manager). Pots descarregar-los des de nodejs.org.
Creació d'una Nova Aplicació React
React proporciona una eina anomenada create-react-app
que facilita la creació d'una nova aplicació React amb una configuració inicial mínima.
Aquestes comandes crearan una nova aplicació React i la posaran en marxa en un servidor de desenvolupament local.
Estructura d'una Aplicació React
Quan crees una nova aplicació amb create-react-app
, obtindràs una estructura de carpetes similar a aquesta:
my-app/ ├── node_modules/ ├── public/ │ ├── index.html │ └── ... ├── src/ │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── index.css │ ├── index.js │ └── ... ├── .gitignore ├── package.json ├── README.md └── ...
Fitxers Clau
public/index.html
: El punt d'entrada de l'aplicació.src/index.js
: El punt d'entrada de JavaScript. Aquí és on React renderitza l'aplicació.src/App.js
: El component principal de l'aplicació.
El Teu Primer Component React
Un component React és una funció o classe que retorna un element React. A continuació es mostra un exemple d'un component funcional senzill:
import React from 'react'; function HelloWorld() { return <h1>Hello, World!</h1>; } export default HelloWorld;
Renderització del Component
Per renderitzar el component HelloWorld
, necessitem importar-lo i utilitzar-lo dins del component principal (App.js
):
import React from 'react'; import HelloWorld from './HelloWorld'; function App() { return ( <div className="App"> <HelloWorld /> </div> ); } export default App;
JSX: JavaScript XML
JSX és una extensió de sintaxi que permet escriure codi HTML dins de JavaScript. És una característica clau de React que fa que el codi sigui més llegible i fàcil d'escriure.
Exemple de JSX
Aquest codi crea un element React que representa un encapçalament <h1>
amb el text "Hello, World!".
Exercici Pràctic
Objectiu
Crea un component React que mostri un missatge personalitzat.
Instruccions
- Crea un nou fitxer anomenat
Greeting.js
dins de la carpetasrc
. - Defineix un component funcional que accepti una propietat
name
i mostri un missatge de benvinguda. - Importa i utilitza el component
Greeting
dins deApp.js
.
Solució
src/Greeting.js
:
import React from 'react'; function Greeting(props) { return <h1>Hello, {props.name}!</h1>; } export default Greeting;
src/App.js
:
import React from 'react'; import Greeting from './Greeting'; function App() { return ( <div className="App"> <Greeting name="John" /> </div> ); } export default App;
Resum
En aquesta secció, hem introduït React, una biblioteca de JavaScript per a la construcció d'interfícies d'usuari. Hem configurat l'entorn de desenvolupament, creat el nostre primer component React i explorat la sintaxi JSX. A més, hem realitzat un exercici pràctic per reforçar els conceptes apresos. En la següent secció, aprofundirem en la gestió de l'estat i els cicles de vida dels components en React.
JavaScript: De Principiant a Avançat
Mòdul 1: Introducció a JavaScript
- Què és JavaScript?
- Configuració del Teu Entorn de Desenvolupament
- El Teu Primer Programa en JavaScript
- Sintaxi i Conceptes Bàsics de JavaScript
- Variables i Tipus de Dades
- Operadors Bàsics
Mòdul 2: Estructures de Control
- Declaracions Condicionals
- Bucles: for, while, do-while
- Declaracions Switch
- Gestió d'Errors amb try-catch
Mòdul 3: Funcions
- Definició i Crida de Funcions
- Expressions de Funció i Funcions Fletxa
- Paràmetres i Valors de Retorn
- Àmbit i Tancaments
- Funcions d'Ordre Superior
Mòdul 4: Objectes i Arrays
- Introducció als Objectes
- Mètodes d'Objecte i Paraula Clau 'this'
- Arrays: Conceptes Bàsics i Mètodes
- Iteració sobre Arrays
- Desestructuració d'Arrays
Mòdul 5: Objectes i Funcions Avançades
- Prototips i Herència
- Classes i Programació Orientada a Objectes
- Mòduls i Importació/Exportació
- JavaScript Asíncron: Callbacks
- Promeses i Async/Await
Mòdul 6: El Model d'Objectes del Document (DOM)
- Introducció al DOM
- Selecció i Manipulació d'Elements del DOM
- Gestió d'Esdeveniments
- Creació i Eliminació d'Elements del DOM
- Gestió i Validació de Formularis
Mòdul 7: APIs del Navegador i Temes Avançats
- Emmagatzematge Local i de Sessió
- Fetch API i AJAX
- WebSockets
- Service Workers i Aplicacions Web Progressives (PWAs)
- Introducció a WebAssembly
Mòdul 8: Proves i Depuració
- Depuració de JavaScript
- Proves Unitàries amb Jest
- Proves d'Integració
- Proves de Cap a Cap amb Cypress
Mòdul 9: Rendiment i Optimització
- Optimització del Rendiment de JavaScript
- Gestió de Memòria
- Manipulació Eficient del DOM
- Càrrega Per Mandat i Divisió de Codi
Mòdul 10: Frameworks i Llibreries de JavaScript
- Introducció a React
- Gestió d'Estat amb Redux
- Conceptes Bàsics de Vue.js
- Conceptes Bàsics d'Angular
- Triar el Framework Adequat