En este módulo, exploraremos los componentes básicos de React Native, que son los bloques de construcción fundamentales para cualquier aplicación. Estos componentes permiten crear interfaces de usuario ricas y responsivas. A lo largo de esta sección, aprenderás sobre los componentes más utilizados y cómo emplearlos en tus proyectos.
- Introducción a los Componentes Básicos
React Native proporciona una serie de componentes básicos que se utilizan para construir la interfaz de usuario. Estos componentes son similares a los elementos HTML en la web, pero están optimizados para aplicaciones móviles. Los componentes básicos más comunes incluyen:
- View: Contenedor básico que soporta el diseño con Flexbox, estilo, y manejo de toques.
- Text: Componente para mostrar texto.
- Image: Componente para mostrar imágenes.
- TextInput: Componente para la entrada de texto del usuario.
- ScrollView: Contenedor que permite desplazarse por el contenido.
- FlatList: Componente para mostrar listas de datos de manera eficiente.
- Componente View
El componente View es el contenedor más básico en React Native. Se utiliza para agrupar otros componentes y aplicar estilos.
Ejemplo de Uso de View
import React from 'react';
import { View, Text, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={styles.container}>
<Text style={styles.text}>¡Hola, Mundo!</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#f5fcff',
},
text: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
});
export default App;Explicación del Código
- View: Actúa como un contenedor para el componente
Text. - StyleSheet: Utilizado para definir estilos de manera organizada.
- flex: 1: Hace que el contenedor ocupe todo el espacio disponible.
- justifyContent y alignItems: Centran el contenido dentro del contenedor.
- Componente Text
El componente Text se utiliza para mostrar texto en la pantalla.
Ejemplo de Uso de Text
import React from 'react';
import { Text, View, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={styles.container}>
<Text style={styles.text}>¡Hola, Mundo!</Text>
<Text style={styles.text}>Bienvenido a React Native</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#f5fcff',
},
text: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
});
export default App;Explicación del Código
- Text: Muestra el texto "¡Hola, Mundo!" y "Bienvenido a React Native".
- style: Aplica estilos al texto, como el tamaño de fuente y el margen.
- Componente Image
El componente Image se utiliza para mostrar imágenes.
Ejemplo de Uso de Image
import React from 'react';
import { Image, View, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={styles.container}>
<Image
style={styles.image}
source={{ uri: 'https://reactnative.dev/img/tiny_logo.png' }}
/>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#f5fcff',
},
image: {
width: 50,
height: 50,
},
});
export default App;Explicación del Código
- Image: Muestra una imagen desde una URL.
- style: Define el tamaño de la imagen.
- Componente TextInput
El componente TextInput se utiliza para la entrada de texto del usuario.
Ejemplo de Uso de TextInput
import React, { useState } from 'react';
import { TextInput, View, StyleSheet, Text } from 'react-native';
const App = () => {
const [text, setText] = useState('');
return (
<View style={styles.container}>
<TextInput
style={styles.input}
placeholder="Escribe aquí"
onChangeText={text => setText(text)}
value={text}
/>
<Text style={styles.text}>{text}</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#f5fcff',
},
input: {
height: 40,
borderColor: 'gray',
borderWidth: 1,
marginBottom: 10,
padding: 10,
width: '80%',
},
text: {
fontSize: 20,
},
});
export default App;Explicación del Código
- TextInput: Permite al usuario ingresar texto.
- onChangeText: Actualiza el estado
textcada vez que el usuario escribe algo. - value: Vincula el valor del
TextInputal estadotext.
- Componente ScrollView
El componente ScrollView permite desplazarse por el contenido que excede el tamaño de la pantalla.
Ejemplo de Uso de ScrollView
import React from 'react';
import { ScrollView, Text, StyleSheet } from 'react-native';
const App = () => {
return (
<ScrollView style={styles.scrollView}>
<Text style={styles.text}>Texto 1</Text>
<Text style={styles.text}>Texto 2</Text>
<Text style={styles.text}>Texto 3</Text>
<Text style={styles.text}>Texto 4</Text>
<Text style={styles.text}>Texto 5</Text>
<Text style={styles.text}>Texto 6</Text>
<Text style={styles.text}>Texto 7</Text>
<Text style={styles.text}>Texto 8</Text>
<Text style={styles.text}>Texto 9</Text>
<Text style={styles.text}>Texto 10</Text>
</ScrollView>
);
};
const styles = StyleSheet.create({
scrollView: {
marginHorizontal: 20,
},
text: {
fontSize: 20,
marginVertical: 10,
},
});
export default App;Explicación del Código
- ScrollView: Permite desplazarse verticalmente por el contenido.
- style: Aplica márgenes horizontales y estilos al texto.
- Componente FlatList
El componente FlatList se utiliza para mostrar listas de datos de manera eficiente.
Ejemplo de Uso de FlatList
import React from 'react';
import { FlatList, Text, View, StyleSheet } from 'react-native';
const DATA = [
{ id: '1', title: 'Elemento 1' },
{ id: '2', title: 'Elemento 2' },
{ id: '3', title: 'Elemento 3' },
];
const App = () => {
const renderItem = ({ item }) => (
<View style={styles.item}>
<Text style={styles.title}>{item.title}</Text>
</View>
);
return (
<FlatList
data={DATA}
renderItem={renderItem}
keyExtractor={item => item.id}
/>
);
};
const styles = StyleSheet.create({
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});
export default App;Explicación del Código
- FlatList: Muestra una lista de elementos.
- data: Proporciona los datos a la lista.
- renderItem: Define cómo se renderiza cada elemento.
- keyExtractor: Proporciona una clave única para cada elemento.
Conclusión
En esta sección, hemos cubierto los componentes básicos de React Native, incluyendo View, Text, Image, TextInput, ScrollView, y FlatList. Estos componentes son esenciales para construir cualquier aplicación en React Native. Asegúrate de practicar con estos componentes para familiarizarte con su uso y comportamiento.
En el próximo módulo, profundizaremos en el estilizado de componentes utilizando Flexbox y otras técnicas avanzadas. ¡Sigue practicando y nos vemos en el siguiente módulo!
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
