Introducció a JSX
JSX (JavaScript XML) és una extensió de la sintaxi de JavaScript que permet escriure estructures semblants a HTML dins del codi JavaScript. És una característica fonamental de React i React Native, ja que facilita la creació d'interfícies d'usuari de manera declarativa.
Conceptes Clau de JSX
- Sintaxi semblant a HTML: JSX permet escriure codi que s'assembla molt a HTML, però amb algunes diferències importants.
- Expressions JavaScript: Dins de JSX, es poden utilitzar expressions JavaScript envoltades per claus
{}
. - Components: JSX es pot utilitzar per definir components React, que són blocs de construcció reutilitzables de la interfície d'usuari.
- Transpilació: JSX no és comprensible directament pels navegadors o entorns de JavaScript, per la qual cosa es necessita una eina com Babel per transpil·lar el codi JSX a JavaScript pur.
Exemple Bàsic de JSX
import React from 'react'; import { Text, View } from 'react-native'; const HelloWorldApp = () => { return ( <View> <Text>Hello, World!</Text> </View> ); }; export default HelloWorldApp;
Explicació del Codi
- Importació de Mòduls:
import React from 'react';
iimport { Text, View } from 'react-native';
importen les dependències necessàries. - Component Funcional:
const HelloWorldApp = () => { ... }
defineix un component funcional anomenatHelloWorldApp
. - JSX: Dins del component, el codi JSX
<View><Text>Hello, World!</Text></View>
defineix l'estructura de la interfície d'usuari. - Exportació:
export default HelloWorldApp;
exporta el component perquè pugui ser utilitzat en altres parts de l'aplicació.
Diferències entre JSX i HTML
Característica | JSX | HTML |
---|---|---|
Atributs | className |
class |
Estil | style={{color: 'red'}} |
style="color: red;" |
Comentaris | {/* Comentari */} |
<!-- Comentari --> |
Etiquetes tancades | <img src="..." /> |
<img src="..."> |
Expressions JavaScript en JSX
En JSX, es poden utilitzar expressions JavaScript dins de claus {}
. Això permet integrar lògica dins de la interfície d'usuari.
Exercicis Pràctics
- Crear un Component amb JSX:
- Crea un component que mostri un missatge de benvinguda amb el nom de l'usuari passat com a prop.
import React from 'react'; import { Text, View } from 'react-native'; const Welcome = (props) => { return ( <View> <Text>Welcome, {props.name}!</Text> </View> ); }; export default Welcome;
- Utilitzar Expressions JavaScript:
- Crea un component que mostri la data i hora actuals utilitzant expressions JavaScript dins de JSX.
import React from 'react'; import { Text, View } from 'react-native'; const CurrentDateTime = () => { const now = new Date().toLocaleString(); return ( <View> <Text>Current Date and Time: {now}</Text> </View> ); }; export default CurrentDateTime;
Errors Comuns i Consells
- No tancar etiquetes: En JSX, totes les etiquetes han de ser tancades. Per exemple,
<img src="..." />
en lloc de<img src="...">
. - Utilitzar
class
en lloc declassName
: En JSX, s'ha d'utilitzarclassName
per definir classes CSS. - Expressions JavaScript fora de claus: Les expressions JavaScript dins de JSX han d'estar sempre envoltades per claus
{}
.
Conclusió
JSX és una eina poderosa que facilita la creació d'interfícies d'usuari en React Native. Comprendre la seva sintaxi i com utilitzar-lo correctament és fonamental per desenvolupar aplicacions eficients i mantenibles. Amb la pràctica, l'ús de JSX esdevindrà natural i intuïtiu.
Curs de React Native
Mòdul 1: Introducció a React Native
- Què és React Native?
- Configuració de l'entorn de desenvolupament
- Aplicació Hello World
- Comprendre JSX
- Components i Props
Mòdul 2: Components bàsics i estilització
- Visió general dels components bàsics
- Text, View i Image
- Estilització amb Flexbox
- Gestió de l'entrada de l'usuari
- ScrollView i ListView
Mòdul 3: Estat i cicle de vida
- Mètodes d'estat i cicle de vida
- Gestió d'esdeveniments
- Renderització condicional
- Llistes i claus
- Formularis i components controlats
Mòdul 4: Navegació
- Introducció a React Navigation
- Stack Navigator
- Tab Navigator
- Drawer Navigator
- Passar paràmetres a les rutes
Mòdul 5: Xarxes i dades
- Obtenir dades amb Fetch API
- Utilitzar Axios per a sol·licituds HTTP
- Gestió d'errors de xarxa
- AsyncStorage per a dades locals
- Integració amb APIs REST
Mòdul 6: Conceptes avançats
Mòdul 7: Desplegament i publicació
- Construcció per a iOS
- Construcció per a Android
- Publicació a l'App Store
- Publicació a Google Play
- Integració i lliurament continus