Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
La arquitectura modular es una forma de organizar el código que divide una aplicación en módulos independientes o “features”, cada uno con su propia lógica, pantallas, estado y componentes.
El objetivo de este proyecto es que aprendas a estructurar una app React Native CLI con TypeScript siguiendo este enfoque, para que sea más escalable, mantenible y fácil de entender.
Clona el proyecto que haz realizado del Catálogo de Películas. Este proyecto servirá como punto de partida para practicar la modularización.
🖥️ Pasos iniciales
1cd react-native-movie-catalogue 2npm install
1cd ios && pod install && cd ..
1npm run android 2npm run ios
💡 Importante: Recuerda guardar y subir tu código a GitHub creando un nuevo repositorio, actualizando el remoto (
git remote set-url origin <your new url>) y subiendo el código a tu nuevo repositorio usando los comandosadd,commitypushdesde la terminal de git.
El objetivo es modularizar la app de catálogo de películas, migrando las secciones Movies y Categories.
1src/ 2 features/ 3 movies/{screens,components,store} 4 categories/{screens,store} 5 shared/{ui,lib,types} 6 navigation/{StackNavigator.tsx, feature-registry.ts}
HomeScreen → features/movies/screens/MoviesListScreen.tsxMovieDetailScreen → features/movies/screens/MovieDetailScreen.tsxCategoriesScreen → features/categories/screens/CategoriesScreen.tsxCategoryMoviesScreen → features/categories/screens/CategoryMoviesScreen.tsx@shared:
shared/lib/movies.ts con un arreglo movies y helper getMoviesByCategory.shared/ui/Grid.tsx para espaciar contenido.shared/types/index.ts con el tipo Movie.features/movies/store/movies.store.ts con favorites, toggle, isFav.features/categories/store/categories.store.ts con active, setActive.index.ts en cada feature como punto de entrada (features/<x>/index.ts) y define rutas: moviesRoutes y categoriesRoutes.Este archivo actuará como puerta de entrada del módulo, re-exportando las pantallas, stores o componentes que deban ser accesibles desde fuera y agrupando las rutas del feature. Todo lo demás dentro de la carpeta se considera parte interna del módulo.
navigation/feature-registry.ts y móntalas en StackNavigator.tsx.tsconfig.json y babel.config.js para @/*, @features/*, @shared/*.@shared/*.features/ y shared/.Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand
Dificultad
intermediate
Duración promedio
1 hrs
Tecnologías
Typescript
react native
React Navigation
zustand