En esta lección, crearemos nuestra primera aplicación en React Native: una simple aplicación "Hola Mundo". Este ejercicio nos permitirá familiarizarnos con la estructura básica de una aplicación React Native y con el proceso de desarrollo.
Objetivos de Aprendizaje
- Comprender la estructura básica de una aplicación React Native.
- Aprender a crear y ejecutar una aplicación simple.
- Familiarizarse con los componentes básicos y el uso de JSX.
Requisitos Previos
- Haber completado la configuración del entorno de desarrollo (ver lección anterior).
Pasos para Crear la Aplicación "Hola Mundo"
- Crear un Nuevo Proyecto
Primero, necesitamos crear un nuevo proyecto de React Native. Abre tu terminal y ejecuta el siguiente comando:
Este comando creará una nueva carpeta llamada HelloWorldApp con todos los archivos necesarios para empezar.
- Navegar al Directorio del Proyecto
Cambia al directorio del proyecto recién creado:
- Ejecutar la Aplicación
Para asegurarnos de que todo está configurado correctamente, ejecutemos la aplicación en un emulador o dispositivo físico.
En iOS
En Android
Si todo está configurado correctamente, deberías ver la aplicación predeterminada de React Native ejecutándose en tu emulador o dispositivo.
- Modificar el Código para Mostrar "Hola Mundo"
Ahora, vamos a modificar el código para que la aplicación muestre "Hola Mundo". Abre el archivo App.js en tu editor de código favorito. Deberías ver algo similar a esto:
import React from 'react';
import {
SafeAreaView,
ScrollView,
StatusBar,
StyleSheet,
Text,
useColorScheme,
View,
} from 'react-native';
import {
Colors,
DebugInstructions,
Header,
LearnMoreLinks,
ReloadInstructions,
} from 'react-native/Libraries/NewAppScreen';
const App = () => {
const isDarkMode = useColorScheme() === 'dark';
const backgroundStyle = {
backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
};
return (
<SafeAreaView style={backgroundStyle}>
<StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
<ScrollView
contentInsetAdjustmentBehavior="automatic"
style={backgroundStyle}>
<Header />
<View
style={{
backgroundColor: isDarkMode ? Colors.black : Colors.white,
}}>
<Text style={styles.sectionTitle}>Step One</Text>
<Text style={styles.sectionDescription}>
Edit <Text style={styles.highlight}>App.js</Text> to change this
screen and then come back to see your edits.
</Text>
<DebugInstructions />
<ReloadInstructions />
<LearnMoreLinks />
</View>
</ScrollView>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
sectionTitle: {
fontSize: 24,
fontWeight: '600',
},
sectionDescription: {
marginTop: 8,
fontSize: 18,
fontWeight: '400',
},
highlight: {
fontWeight: '700',
},
});
export default App;Vamos a simplificar este código para que solo muestre "Hola Mundo". Reemplaza el contenido de App.js con el siguiente código:
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>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
text: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
});
export default App;
- Guardar y Ejecutar
Guarda los cambios y vuelve a ejecutar la aplicación. Deberías ver "Hola Mundo" en la pantalla.
Explicación del Código
- Importaciones: Importamos
Reacty algunos componentes básicos dereact-nativecomoText,ViewyStyleSheet. - Componente
App: Definimos un componente funcional llamadoAppque retorna una vista (View) con un texto (Text) dentro. - Estilos: Usamos
StyleSheetpara definir los estilos de la vista y el texto. La vista tiene estilos para centrar el contenido y darle un color de fondo, mientras que el texto tiene un tamaño de fuente y un margen.
Ejercicio Práctico
Ejercicio 1: Modificar el Texto
Modifica el texto "Hola Mundo" para que diga "Bienvenidos a React Native".
Solución
import React from 'react';
import { Text, View, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={styles.container}>
<Text style={styles.text}>Bienvenidos 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;Ejercicio 2: Cambiar el Color de Fondo
Cambia el color de fondo de la vista a un color de tu elección.
Solución
import React from 'react';
import { Text, View, StyleSheet } from 'react-native';
const App = () => {
return (
<View style={[styles.container, { backgroundColor: '#ADD8E6' }]}>
<Text style={styles.text}>Bienvenidos a React Native</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
text: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
});
export default App;Conclusión
En esta lección, hemos creado nuestra primera aplicación en React Native y hemos aprendido a modificar el código para personalizar la salida. Ahora deberías sentirte más cómodo con la estructura básica de una aplicación React Native y estar listo para explorar componentes y funcionalidades más avanzadas en las próximas lecciones.
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
