En React Native, un componente es una pieza reutilizable de interfaz que te permite construir apps móviles por partes reutilizables y organizadas. Los componentes son como bloques de construcción que puedes combinar para crear pantallas completas, con lógica, estilo y comportamiento propios.
Usamos Expo para hacerlo más fácil:
npx create-expo-app@latest PrimerComponente --template blank
cd PrimerComponente
npx expo start Esto crea una estructura básica como esta:
PrimerComponente/
├── App.js
├── babel.config.js
├── package.json
├── node_modules/
└── assets/
├── favicon.png
├── icon.png
├── splash.png
└── adaptive-icon.png Dentro del proyecto, crea una carpeta para tus componentes:
PrimerComponente/
└── components/
└── MiPrimerComponente.jsx Ahora, dentro de la carpeta components, crea un archivo llamado MiPrimerComponente.jsx y agrega el siguiente código:
import React from 'react'; // importamos React
// importa los componentes necesarios
import { View, Text, StyleSheet } from 'react-native';
// Este es un componente funcional llamado MiPrimerComponente
const MiPrimerComponente = () => {
// Aquí puedes definir la lógica y el estado del componente
// El componente retorna un View que contiene un Text
return (
// View actúa como un contenedor tipo div en React Native
<View style={styles.contenedor}>
<Text style={styles.texto}>¡Hola mundo! desde mi primer componente.</Text>
</View>
);
};
// Aquí defines los estilos CSS para tu componente
const styles = StyleSheet.create({
contenedor: {
flex: 1, // ocupa todo el espacio disponible
justifyContent: 'center', // centra verticalmente
alignItems: 'center', // centra horizontalmente
padding: 20,
backgroundColor: '#f8f9fa', // gris más claro
borderRadius: 10,
margin: 10,
},
texto: {
fontSize: 18,
color: '#333',
textAlign: 'center',
},
});
// Exportamos el componente para usarlo en App.js
export default MiPrimerComponente; Ahora que tienes tu componente creado, es hora de usarlo en tu aplicación. Abre el archivo App.js y reemplaza su contenido con lo siguiente:
import React from 'react';
import { SafeAreaView } from 'react-native';
import MiPrimerComponente from './components/MiPrimerComponente';
export default function App() {
return (
<SafeAreaView>
<MiPrimerComponente />
</SafeAreaView>
);
} En este punto, ya tienes tu componente creado y utilizado en tu aplicación. Ahora es momento de ejecutarla y ver cómo se ve en la pantalla, para eso corre el siguiente comando en la terminal:
npx expo start Esto abrirá una ventana en tu navegador. Escanea el código QR con la app de Expo Go en tu dispositivo móvil o usa un emulador para ver tu componente en acción.
🎉 ¡Felicidades! Has creado tu primer componente en React Native.
<View>: Similar a un <div> en HTML.<Text>: Se usa para mostrar texto.Un componente básico en React Native se estructura en varias partes claves:
Importaciones necesarias
Se importa React y los módulos nativos como View, Text y StyleSheet desde react-native.
Componente funcional
Se define una función (generalmente con arrow function) que devuelve la interfaz en JSX.
Estilos con StyleSheet
Los estilos se agrupan con StyleSheet.create({}), lo que mejora el rendimiento y organiza el código.
Exportación del componente
Se usa export default para que el componente pueda ser utilizado en otros archivos, por ejemplo en App.js.
Si tienes dudas entre una exportación por defecto o nombrada, puedes leer esta guía.
💡Este patrón es la base para construir interfaces reutilizables, limpias y escalables en tus apps con React Native.