React Native funciona con componentes, ¿Qué quiere decir esto? Pues que cada elemento representa un objeto con su vista, propiedades y métodos. Un objeto es una caja negra, dónde tú introduces una entrada y devuelve una salida, independientemente de lo que contenga o no.

Os voy a explicar cómo crear un componente de ejemplo en React Native.
Lo primero que tenemos que hacer es ir a nuestra App.js
import React from "react";
import {View, Button} from "react-native";
//Componente boton
const App = () => {
return (
<Text>Hola Mundo</Text>
<Button title="Iniciar" />
)
};
export default App ;
En este caso, he creado un texto que pone Hola Mundo y un botón que pone Iniciar.
Ahora voy a crear un componente que representará el objeto botón, que vamos a personalizar e importar dentro de nuestra App.
Para ello vamos a crear una carpeta llamada componentes y dentro de ella Boton.js

Ahora abrimos Boton.js y añadimos lo siguiente:
import React from "react";
import { StyleSheet, Button } from "react-native";
//Componente boton
const Boton = () => {
return (
<Button style={styles.boton} title="Iniciar" />
)
};
export default Boton;
const styles = StyleSheet.create({
boton: {
backgroundColor: '#2145E6',
},
});
En este caso hemos creado el botón y le hemos aplicado un estilo que añade un color de fondo azul.
Ahora queremos que nuestro botón tenga un texto personalizado y que además pueda invocar a una función cuándo pulsemos en él. Para ello vamos a hacer unas modificaciones:
import React from "react";
import { StyleSheet, Button } from "react-native";
//Componente boton
const Boton = (props) => {
//Parametros de constructor se pasan por props
const { texto, onPress } = props;
return (
<Button style={styles.boton} onPress={onPress} title= {texto} ></Button>
)
};
export default Boton;
const styles = StyleSheet.create({
boton: {
backgroundColor: '#2145E6',
},
});
Primero pasamos por constructor la variable props dónde vamos a añadir mediante propiedades del botón los atributos que queramos pasarle. const Boton = (props) => {
Después hemos añadido una constante objeto que tiene dos parámetros, texto y onPress.
const { texto, onPress } = props;
Estos parámetros los recibe desde las propiedades del componente, cuándo lo añadamos a una vista, por ejemplo:

Con esto podremos hacer que el botón tenga las propiedades que queramos al añadirlo a distintas pantallas (cómo cuando hacemos un new Objeto(texto, press) en Java).
onPress={onPress} title= {texto}
Finalmente, he añadido las variables poniendo {onPress} y {texto} para hacer referencia a las propiedades que se le pasa.
Con todo esto ya tenemos creado nuestro componente, ahora solo tenemos que añadirlo a la visa de App.js de la siguiente forma:
- Importamos el componente:
import Boton from '../componentes/Boton'; - Añadimos el componente a la vista:
<Boton /> - Pasamos los atributos que hemos decidido:
<Boton texto=»Iniciar» onPress =»funcionPulsar» />
Y ya nos construye el componente.
Este es el código de App.js con los cambios realizados:
import React from "react";
import {View, Button} from "react-native";
//importar el componente
import Boton from '../componentes/Boton';
//Componente boton
const App = () => {
return (
<Text>Hola Mundo</Text>
<Boton texto="Iniciar" onPress ="funcionPulsar" />
)
};
//Funcion que se invoca al pulsar
function funcionPulsar(){
alert("pulsar");
}
export default App ;

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.
4 comentarios en «Crear un componente en React Native»