Estructura y navegación con Expo Router en React Native

Clase 3 de 22Curso de Fundamentos de React Native

Resumen

Domina la arquitectura moderna de Expo Router en React Native: estructura de carpetas, uso de layout y tabs, configuración para Android y iOS, creación de pantallas con View y Text, y estilos con StyleSheet en CamelCase. Además, aprovecha Fast Refresh para ver cambios al instante mientras desarrollas.

¿Cómo se organiza la app con Expo Router?

La carpeta app concentra las pantallas y la navegación. Cada carpeta o archivo dentro de app funciona como una página. El archivo layout actúa como proveedor de información para el resto, y define el esquema de navegación con un stack y tabs.

¿Qué hace el layout y cómo provee datos?

  • Centraliza la navegación y el contexto que consumen las demás páginas.
  • Declara un stack que verás como tabs en la interfaz.
  • Permite comunicar y compartir configuración entre pantallas.

¿Cómo funcionan tabs y pantallas index y explore?

  • En la carpeta tabs, cada archivo representa una pantalla.
  • index corresponde a la pantalla home.
  • explore es otra pantalla a la que accedes desde los tabs.
  • Agregar un archivo en tabs crea una nueva pantalla automáticamente.

¿Dónde configuro Android y iOS y dónde van assets y componentes?

  • Hay un archivo de configuración con nombres e íconos para Android e iOS; allí ajustas lo específico de cada sistema.
  • La carpeta assets almacena imágenes y fuentes.
  • La carpeta componentes guarda piezas pequeñas reutilizables para construir pantallas, fomentando una arquitectura modular.

¿Cómo se crean pantallas y estilos con JSX y StyleSheet?

Una pantalla básica usa etiquetas similares a HTML: una etiqueta padre y otra hija, con apertura y cierre. En React Native, View funciona como el div de HTML y Text como un párrafo o un h1.

¿Qué etiquetas base se usan y a qué se parecen?

  • View: contenedor principal, equivalente a un div.
  • Text: texto visible, equivalente a p o h1.
  • Estructura padre–hijo con etiquetas de apertura y cierre.

¿Cómo aplicar estilos con style y StyleSheet en CamelCase?

Los estilos se aplican con la propiedad style y un StyleSheet. Se usan corchetes para pasar objetos de JavaScript y propiedades en CamelCase (por ejemplo, justifyContent en lugar de justify-content). Puedes centrar el contenido vertical y horizontalmente, añadir color de fondo, y definir tamaño, grosor y color de tipografías.

import { View, Text, StyleSheet } from 'react-native'; export default function HomeScreen() { return ( <View style={styles.container}> <Text style={styles.titulo}>Cambios visibles al guardar.</Text> <Text style={styles.subtitulo}>Fast Refresh aplicado al instante.</Text> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', // centra verticalmente. alignItems: 'center', // centra horizontalmente. // backgroundColor: '...'. }, titulo: { // fontSize: ..., // fontWeight: 'bold', // color: '...'. }, subtitulo: { // fontSize: ..., // color: '...'. }, });
  • Importa View y Text desde react-native para construir la interfaz.
  • Crea una constante styles y úsala con style={styles.algo}.
  • El editor sugiere propiedades definidas en StyleSheet al escribir styles..

¿Cómo editar y ver cambios al instante con Fast Refresh?

Con Fast Refresh, cada guardado muestra los cambios de inmediato en el dispositivo. Si el contenido aparece arriba o se ve en blanco, ajusta el contenedor con estilos para centrar y dar visibilidad a los textos. Esto acelera la iteración mientras trabajas en la pantalla index.

¿Qué recomendación evita desconexiones del dispositivo?

  • Desactiva el bloqueo automático del teléfono. Evita que se desconecte del localhost de tu laptop.

¿Te gustaría ver ejemplos adicionales de tabs o más patrones de estilos en CamelCase? Deja tus dudas y comenta qué parte quieres profundizar.