Introducción
En React Native, los componentes son los bloques de construcción fundamentales de cualquier aplicación. Los componentes permiten dividir la interfaz de usuario en piezas independientes, reutilizables y manejables. Los "props" (abreviatura de "properties") son la forma en que se pasan datos de un componente a otro.
Conceptos Clave
-
Componentes:
- Componentes Funcionales: Son funciones de JavaScript que aceptan props como argumento y devuelven elementos de React.
- Componentes de Clase: Son clases de ES6 que extienden de
React.Component
y tienen un métodorender
que devuelve elementos de React.
-
Props:
- Son datos que se pasan de un componente padre a un componente hijo.
- Son inmutables, lo que significa que no pueden ser modificadas por el componente que las recibe.
Componentes Funcionales
Los componentes funcionales son la forma más sencilla de definir un componente en React Native. Aquí hay un ejemplo básico:
import React from 'react'; import { Text, View } from 'react-native'; const Greeting = (props) => { return ( <View> <Text>Hello, {props.name}!</Text> </View> ); }; export default Greeting;
En este ejemplo:
Greeting
es un componente funcional que aceptaprops
.props.name
se utiliza para mostrar el nombre pasado al componente.
Componentes de Clase
Los componentes de clase son más complejos y se utilizan cuando se necesita manejar el estado o los métodos del ciclo de vida. Aquí hay un ejemplo:
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;
En este ejemplo:
Greeting
es un componente de clase que extiendeReact.Component
.this.props.name
se utiliza para acceder a las props.
Pasando Props
Las props se pasan a los componentes de la siguiente manera:
import React from 'react'; import { View } from 'react-native'; import Greeting from './Greeting'; const App = () => { return ( <View> <Greeting name="Alice" /> <Greeting name="Bob" /> </View> ); }; export default App;
En este ejemplo:
Greeting
se utiliza dos veces con diferentes valores dename
.- Cada instancia de
Greeting
recibe un valor diferente paraprops.name
.
Ejercicio Práctico
Ejercicio 1: Crear un Componente de Bienvenida
- Crea un nuevo componente funcional llamado
Welcome
que acepte una propname
y muestre un mensaje de bienvenida. - Usa el componente
Welcome
en tu aplicación principal y pásale diferentes nombres.
Solución
// Welcome.js import React from 'react'; import { Text, View } from 'react-native'; const Welcome = (props) => { return ( <View> <Text>Welcome, {props.name}!</Text> </View> ); }; export default Welcome; // App.js import React from 'react'; import { View } from 'react-native'; import Welcome from './Welcome'; const App = () => { return ( <View> <Welcome name="Alice" /> <Welcome name="Bob" /> </View> ); }; export default App;
Ejercicio 2: Crear un Componente de Perfil
- Crea un componente de clase llamado
Profile
que acepte propsname
yage
. - Muestra el nombre y la edad en el componente
Profile
. - Usa el componente
Profile
en tu aplicación principal y pásale diferentes valores paraname
yage
.
Solución
// Profile.js import React, { Component } from 'react'; import { Text, View } from 'react-native'; class Profile extends Component { render() { return ( <View> <Text>Name: {this.props.name}</Text> <Text>Age: {this.props.age}</Text> </View> ); } } export default Profile; // App.js import React from 'react'; import { View } from 'react-native'; import Profile from './Profile'; const App = () => { return ( <View> <Profile name="Alice" age={25} /> <Profile name="Bob" age={30} /> </View> ); }; export default App;
Conclusión
En esta sección, hemos aprendido sobre los componentes y las props en React Native. Los componentes son esenciales para construir interfaces de usuario modulares y reutilizables, mientras que las props permiten pasar datos entre componentes. Con estos conceptos, estás listo para construir aplicaciones más complejas y dinámicas.
En el próximo módulo, exploraremos los componentes básicos y el estilizado en React Native.
Curso de React Native
Módulo 1: Introducción a React Native
- ¿Qué es React Native?
- Configuración del Entorno de Desarrollo
- Aplicación Hola Mundo
- Entendiendo JSX
- Componentes y Props
Módulo 2: Componentes Básicos y Estilizado
- Visión General de Componentes Básicos
- Texto, Vista e Imagen
- Estilizado con Flexbox
- Manejo de Entrada del Usuario
- ScrollView y ListView
Módulo 3: Estado y Ciclo de Vida
- Métodos de Estado y Ciclo de Vida
- Manejo de Eventos
- Renderizado Condicional
- Listas y Claves
- Formularios y Componentes Controlados
Módulo 4: Navegación
- Introducción a React Navigation
- Navegador de Pila
- Navegador de Pestañas
- Navegador de Cajón
- Pasando Parámetros a Rutas
Módulo 5: Redes y Datos
- Obteniendo Datos con Fetch API
- Usando Axios para Solicitudes HTTP
- Manejo de Errores de Red
- AsyncStorage para Datos Locales
- Integración con APIs REST
Módulo 6: Conceptos Avanzados
Módulo 7: Despliegue y Publicación
- Construyendo para iOS
- Construyendo para Android
- Publicando en App Store
- Publicando en Google Play
- Integración y Entrega Continua