Introducció
En aquest tema, aprendrem sobre els components i les props en React Native. Els components són els blocs de construcció fonamentals d'una aplicació React Native, mentre que les props (abreviatura de "properties") permeten passar dades als components.
Components
Tipus de Components
Hi ha dos tipus principals de components en React Native:
-
Components de Funció (Function Components):
- Són funcions de JavaScript que accepten un objecte de props com a argument i retornen elements de React.
- Són més senzills i fàcils de llegir.
- Exemple:
import React from 'react'; import { Text, View } from 'react-native'; const Greeting = (props) => { return ( <View> <Text>Hello, {props.name}!</Text> </View> ); }; export default Greeting;
-
Components de Classe (Class Components):
- Són classes de JavaScript que estenen
React.Component
i tenen un mètoderender
que retorna elements de React. - Són més potents i permeten utilitzar l'estat i els mètodes del cicle de vida.
- Exemple:
import React, { Component } from 'react'; import { Text, View } from 'react-native'; class Greeting extends Component { render() { return ( <View> <Text>Hello, {this.props.name}!</Text> </View> ); } } export default Greeting;
- Són classes de JavaScript que estenen
Creació d'un Component
Per crear un component, simplement defineix una funció o una classe que retorni elements de React. Aquests elements poden ser altres components o components bàsics com Text
, View
, Image
, etc.
Props
Què són les Props?
Les props són un mecanisme per passar dades dels components pares als components fills. Són immutables, és a dir, no es poden modificar dins del component fill.
Passar Props
Per passar props a un component, simplement afegeix atributs al component quan el crides. Exemple:
import React from 'react'; import { View } from 'react-native'; import Greeting from './Greeting'; const App = () => { return ( <View> <Greeting name="John" /> <Greeting name="Jane" /> </View> ); }; export default App;
En aquest exemple, estem passant la prop name
als components Greeting
.
Accedir a les Props
Per accedir a les props dins d'un component de funció, utilitza l'argument props
. En un component de classe, utilitza this.props
.
PropTypes
És una bona pràctica definir els tipus de les props que un component espera rebre. Això es pot fer utilitzant la biblioteca prop-types
.
import React from 'react'; import PropTypes from 'prop-types'; import { Text, View } from 'react-native'; const Greeting = (props) => { return ( <View> <Text>Hello, {props.name}!</Text> </View> ); }; Greeting.propTypes = { name: PropTypes.string.isRequired, }; export default Greeting;
Exercicis Pràctics
Exercici 1: Crear un Component de Funció
Crea un component de funció anomenat Welcome
que accepti una prop username
i mostri un missatge de benvinguda.
import React from 'react'; import { Text, View } from 'react-native'; const Welcome = (props) => { return ( <View> <Text>Welcome, {props.username}!</Text> </View> ); }; export default Welcome;
Exercici 2: Crear un Component de Classe
Crea un component de classe anomenat UserProfile
que accepti una prop user
(un objecte amb name
i age
) i mostri la informació de l'usuari.
import React, { Component } from 'react'; import { Text, View } from 'react-native'; class UserProfile extends Component { render() { return ( <View> <Text>Name: {this.props.user.name}</Text> <Text>Age: {this.props.user.age}</Text> </View> ); } } export default UserProfile;
Solucions
Solució Exercici 1
import React from 'react'; import { Text, View } from 'react-native'; const Welcome = (props) => { return ( <View> <Text>Welcome, {props.username}!</Text> </View> ); }; export default Welcome;
Solució Exercici 2
import React, { Component } from 'react'; import { Text, View } from 'react-native'; class UserProfile extends Component { render() { return ( <View> <Text>Name: {this.props.user.name}</Text> <Text>Age: {this.props.user.age}</Text> </View> ); } } export default UserProfile;
Conclusió
En aquest tema, hem après sobre els components i les props en React Native. Hem vist com crear components de funció i de classe, com passar i accedir a les props, i com utilitzar PropTypes
per definir els tipus de les props. Aquests conceptes són fonamentals per construir aplicacions React Native eficients i ben estructurades. En el següent mòdul, explorarem els components bàsics i la seva estilització.
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