Habilidades de React Native
Prácticas recomendadas exhaustivas para aplicaciones React Native y Expo. Contiene reglas en múltiples categorías que cubren rendimiento, animaciones, patrones de UI y optimizaciones específicas de plataforma.
Cuándo aplicar
Consulte estas directrices cuando:
- Cree aplicaciones React Native o Expo
- Optimice el rendimiento de listas y scroll
- Implemente animaciones con Reanimated
- Trabaje con imágenes y medios
- Configure módulos nativos o fuentes
- Estructure proyectos monorepo con dependencias nativas
Categorías de reglas por prioridad
| Prioridad | Categoría | Impacto | Prefijo |
|---|---|---|---|
| 1 | Rendimiento de listas | CRÍTICO | list-performance- |
| 2 | Animación | ALTO | animation- |
| 3 | Navegación | ALTO | navigation- |
| 4 | Patrones de UI | ALTO | ui- |
| 5 | Gestión de estado | MEDIO | react-state- |
| 6 | Renderizado | MEDIO | rendering- |
| 7 | Monorepo | MEDIO | monorepo- |
| 8 | Configuración | BAJO | fonts-, imports- |
Referencia rápida
1. Rendimiento de listas (CRÍTICO)
list-performance-virtualize- Use FlashList para listas grandeslist-performance-item-memo- Memorice los componentes de elementos de listalist-performance-callbacks- Estabilice las referencias de callbackslist-performance-inline-objects- Evite objetos de estilo en línealist-performance-function-references- Extraiga funciones fuera del renderlist-performance-images- Optimice imágenes en listaslist-performance-item-expensive- Mueva trabajo costoso fuera de los elementoslist-performance-item-types- Use tipos de elementos para listas heterogéneas
2. Animación (ALTO)
animation-gpu-properties- Anime solo transform y opacityanimation-derived-value- Use useDerivedValue para animaciones computadasanimation-gesture-detector-press- Use Gesture.Tap en lugar de Pressable
3. Navegación (ALTO)
navigation-native-navigators- Use stack nativo y tabs nativos sobre navegadores JS
4. Patrones de UI (ALTO)
ui-expo-image- Use expo-image para todas las imágenesui-image-gallery- Use Galeria para lightboxes de imágenesui-pressable- Use Pressable en lugar de TouchableOpacityui-safe-area-scroll- Maneje áreas seguras en ScrollViewsui-scrollview-content-inset- Use contentInset para encabezadosui-menus- Use menús contextuales nativosui-native-modals- Use modales nativos cuando sea posibleui-measure-views- Use onLayout, no measure()ui-styling- Use StyleSheet.create o Nativewind
5. Gestión de estado (MEDIO)
react-state-minimize- Minimice las suscripciones de estadoreact-state-dispatcher- Use el patrón de despachador para callbacksreact-state-fallback- Muestre fallback en el primer renderreact-compiler-destructure-functions- Desestructure para React Compilerreact-compiler-reanimated-shared-values- Maneje valores compartidos con el compilador
6. Renderizado (MEDIO)
rendering-text-in-text-component- Envuelva texto en componentes Textrendering-no-falsy-and- Evite falsy && para renderizado condicional
7. Monorepo (MEDIO)
monorepo-native-deps-in-app- Mantenga dependencias nativas en el paquete de la appmonorepo-single-dependency-versions- Use versiones únicas en todos los paquetes
8. Configuración (BAJO)
fonts-config-plugin- Use plugins de configuración para fuentes personalizadasimports-design-system-folder- Organice las importaciones del sistema de diseñojs-hoist-intl- Eleve la creación de objetos Intl
Cómo usar
Lea los archivos de reglas individuales para obtener explicaciones detalladas y ejemplos de código:
reglas/list-performance-virtualize.md
reglas/animation-gpu-properties.md
Cada archivo de regla contiene:
- Breve explicación de por qué es importante
- Ejemplo de código incorrecto con explicación
- Ejemplo de código correcto con explicación
- Contexto adicional y referencias
Documento compilado completo
Para la guía completa con todas las reglas desarrolladas: AGENTS.md