En esta guía, aprenderás paso a paso cómo crear componentes en React Native, importarlos y utilizarlos eficazmente en tu aplicación móvil con Expo. Este proceso te permitirá reutilizar código, facilitando la organización y desarrollo de tus proyectos en React Native.
¿Cómo levantar tu aplicación en Expo?
Para trabajar con React Native usando Expo, primero debes abrir tu aplicación en un emulador, ya sea de Android o iOS.
Si tienes Expo instalado, solo necesitas ejecutar expo start.
Si no tienes Expo o el emulador configurado, utiliza expo ios o expo android según corresponda.
Al abrir Expo Go, tendrás acceso a tu aplicación previamente desarrollada, donde podrás visualizar los componentes y cambios.
¿Cómo crear un componente React Native desde cero?
Es importante organizar los componentes de manera estructurada en tu proyecto React Native:
Crea una carpeta src en la raíz del proyecto.
Dentro de esta, establece otra carpeta llamada components.
Añade dentro de components el fichero de tu componente, por ejemplo LoginForm.js.
Un componente React Native consta principalmente de importaciones y una función de exportación:
Asegúrate de que el nombre del archivo y el de la función comienzan con mayúsculas, para evitar errores.
¿Cómo importar y utilizar un componente en tu aplicación?
Una vez creado tu nuevo componente, puedes incluirlo fácilmente en otros:
Debes importarlo en el archivo donde lo utilizarás, por ejemplo en App.js:
importLoginFormfrom'./src/components/LoginForm';
Para agregarlo a la interfaz, colócalo como una etiqueta más dentro del retorno de la función principal:
<View><LoginForm/></View>
Observa que los componentes de React Native simulan etiquetas HTML, facilitando su manejo visual y funcional.
¿Cómo implementar un formulario básico en tu componente?
Utilizando elementos básicos como TextInput y Button, podrás brindar interacción a tu componente. Recuerda que los componentes de React Native pueden retornar solo un elemento principal.
Este sencillo formulario dispondrá campos para correo electrónico y contraseña, además de un botón básico.
Te recomendamos aplicar estilos próximamente para mejorar el aspecto visual de tu aplicación, lo cual tratarás en clases posteriores donde profundizarás más en React Native y su modulo de estilos.
Cuéntanos en los comentarios, ¿qué componentes te gustaría crear próximamente en React Native?
Para los que vienen de React, sabrán que también pueden utilizar un Fragment para definir un nivel más alto dentro de un componente, prácticamente un View o múltiples View.
Pueden hacerlo así en el caso de que lo necesiten:
Como aporte, quiero añadir que ya no es necesario importar React en cada componente. Desde las ultimas versiones de React hace ninguna diferencia Por lo que el código podría quedar así y seguir funcionando
.
Gracias por tu aporte. Ya me estaba preguntado eso.
Grande Marlon!
Para crear un input tipo contraseña, podemos usar el atributo "secureTextEntry"
Tiene mucha similitud a React, bueno creo que era obvio.
Al final no deja de ser React adaptado a mobile.
Pienso lo mismo a pesar de que soy nuevo en este tema.
<Text>Hola</Text><Text>Adios</Text>
Un View es como un Div en HTML?🤔
Si lo quieres tomar como referencia, si
No soy un experto, pero el curso esta desactualizado, en relacion con los programas de node.js, sin embargo los codigos que se manejan para su instalación funcionan, para lo cual es muy importante tener configuradas las variables de entorno. les comparto el codigo de package.json, con el que estoy trabajando(difiere un poco del que esta en el curso):{
"name": "myhc",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"expo": "~49.0.8",
"expo-status-bar": "~1.6.0",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.72.4"
},
"devDependencies": {
"@babel/core": "^7.20.0"
},
"private": true
}
Con esta configuración, logre instalar expo-go, en el emulador y funciona bien. Espero les sirva
Profesor he tratado por todas las vías pero no encuentro la manera de conectar mi teléfono Android con Expo go. La aplicación se cierra al intentar escanear el código QR, el túnel no funciona bien y cuando escanea me da un error de conexión. La otra opción que me queda es android studio, mientras continuaré viendo los cursos montando los componentes en web pero si sabe de alguna vía para conectar el teléfono a React Native, le agradecería que me ayudara :)
Hola, se te cierra la aplicación en tu dispositivo o la conexión que se genera en el navegador y te muestra un mensaje que hace referencia a que la conexión de Expo CLI se detuvo
La aplicación de Expo al intentar leer el código QR se cierra y cuando lo lee hace como está cargando y se cierra
Vas muy rapido y no se te entiende mucho :(
¿Porqué al importar LoginForm lo hace sin llaves?
tiene que ver con las desestructuracion de objetos, como se esta importando todo el objeto no hace falta
Porque me funciona bien con las 2, pero quería saber si existe algún problema de compatibilidad en algún momento
No he podido usar los inputs ?
Hola, me sale este error y no encuentro como solucionarlo
Unable to resolve "./src/components/LoginForm" from "App.js"
npm start --reset-cache
¿Qué extensión de vscode para autocompletar palabras como placeholder?
¿existe alguna forma de mirar el código de celular y mirar en tiempo real lo que hace así como cuando uno en web mira con el cursor las etiquetas en la consola del mismo navegador?
Si, puedes usar tu celular como emulador, dependiendo el sistema operativo, pero si estas en Android tienes que activas las opciones de desarrollador y activar la depuracion e instalacion USB.