# React Native Architecture > Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects. Source: https://skillsagentes.com/skills/wshobson/agents/react-native-architecture Repository: https://github.com/wshobson/agents Author: wshobson License: MIT Updated: hace 2 meses Context cost: 56 tok installed, 901 tok once triggered, 4.3k tok with every bundled file Bundle: 2 files, 17 KB Permissions requested: none declared ## Install ```bash npx -y skills add wshobson/agents --skill react-native-architecture --agent claude-code ``` ## What it does - Define una estructura de proyecto para apps Expo Router con carpetas app, components, hooks, services, stores, utils y types - Compara Expo frente a React Native bare en complejidad de setup, módulos nativos, OTA updates y build service - Proporciona comandos de inicio rápido con create-expo-app y dependencias esenciales (expo-router, async-storage, secure-store) - Da ejemplo de _layout.tsx raíz con ThemeProvider, QueryProvider y Stack navigation - Establece buenas prácticas: FlashList sobre FlatList, memoización, Reanimated, StyleSheet.create, error boundaries ## Use it when - Empezar un nuevo proyecto React Native o Expo - Implementar patrones de navegación complejos - Integrar módulos nativos y APIs de plataforma - Construir aplicaciones móviles offline-first ## What triggers it - "Ayúdame a estructurar un nuevo proyecto Expo con navegación" - "Cómo integro módulos nativos en mi app React Native" - "Necesito arquitectura offline-first para una app móvil" ## Before you install - Requiere Node.js y la CLI de Expo (npx create-expo-app / npx expo install) para el flujo de inicio rápido. - Needs on PATH: npx ## Files - SKILL.md — 4 KB - references/details.md — 13 KB ## SKILL.md Reproduced verbatim from wshobson/agents under MIT. This section is the upstream document and is in English. # React Native Architecture Production-ready patterns for React Native development with Expo, including navigation, state management, native modules, and offline-first architecture. ## When to Use This Skill - Starting a new React Native or Expo project - Implementing complex navigation patterns - Integrating native modules and platform APIs - Building offline-first mobile applications - Optimizing React Native performance - Setting up CI/CD for mobile releases ## Core Concepts ### 1. Project Structure ``` src/ ├── app/ # Expo Router screens │ ├── (auth)/ # Auth group │ ├── (tabs)/ # Tab navigation │ └── _layout.tsx # Root layout ├── components/ │ ├── ui/ # Reusable UI components │ └── features/ # Feature-specific components ├── hooks/ # Custom hooks ├── services/ # API and native services ├── stores/ # State management ├── utils/ # Utilities └── types/ # TypeScript types ``` ### 2. Expo vs Bare React Native | Feature | Expo | Bare RN | | ------------------ | -------------- | -------------- | | Setup complexity | Low | High | | Native modules | EAS Build | Manual linking | | OTA updates | Built-in | Manual setup | | Build service | EAS | Custom CI | | Custom native code | Config plugins | Direct access | ## Quick Start ```bash # Create new Expo project npx create-expo-app@latest my-app -t expo-template-blank-typescript # Install essential dependencies npx expo install expo-router expo-status-bar react-native-safe-area-context npx expo install @react-native-async-storage/async-storage npx expo install expo-secure-store expo-haptics ``` ```typescript // app/_layout.tsx import { Stack } from 'expo-router' import { ThemeProvider } from '@/providers/ThemeProvider' import { QueryProvider } from '@/providers/QueryProvider' export default function RootLayout() { return ( ) } ``` ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. ## Best Practices ### Do's - **Use Expo** - Faster development, OTA updates, managed native code - **FlashList over FlatList** - Better performance for long lists - **Memoize components** - Prevent unnecessary re-renders - **Use Reanimated** - 60fps animations on native thread - **Test on real devices** - Simulators miss real-world issues ### Don'ts - **Don't inline styles** - Use StyleSheet.create for performance - **Don't fetch in render** - Use useEffect or React Query - **Don't ignore platform differences** - Test on both iOS and Android - **Don't store secrets in code** - Use environment variables - **Don't skip error boundaries** - Mobile crashes are unforgiving --- Skills Agentes — https://skillsagentes.com/skills/wshobson/agents/react-native-architecture