react-native-architecture

Implements React Native app architecture with Expo Router, offline sync, and native modules.

1|Updated Jul 18, 2025
One-click install
npx skills add https://github.com/AdelysAlberto/md-configs-and-agents --skill react-native-architecture-adelysalberto
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: react-native-architecture
Source: https://github.com/AdelysAlberto/md-configs-and-agents/tree/main/agents-copilot/skills/react-native-architecture
Command: npx skills add https://github.com/AdelysAlberto/md-configs-and-agents --skill react-native-architecture-adelysalberto

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building production React Native apps requires coordinating navigation, authentication, offline data sync, native module integration, and app store deployment, which involves many disconnected decisions and boilerplate. ## Core Features & Use Cases - Expo Router Navigation: File-based routing with tab layouts, dynamic routes, auth groups, and programmatic navigation. - Offline-First Data Layer: React Query with AsyncStorage persistence, network status sync, and optimistic mutations. - Native Integrations: Ready-made services for haptics, biometric authentication, and push notifications with platform-specific handling. - Use Case: When starting a new Expo project, apply these patterns to scaffold the root layout, protect routes with an auth provider, persist API caches for offline use, and configure EAS Build profiles for store submission. ## Quick Start Set up a new Expo React Native project with tab navigation, authentication flow, and offline-first data fetching using these architecture patterns.

Frequently Asked Questions about react-native-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up navigation in an Expo React Native app?▼

Use Expo Router with file-based routing: define screens in the app directory, group them with folders like (tabs) and (auth), and configure a root Stack in _layout.tsx. Navigate programmatically with router.push, router.replace, and router.back.

How to implement offline-first data sync in React Native?▼

Combine React Query with AsyncStorage persistence using PersistQueryClientProvider, set networkMode to offlineFirst, and sync online status via NetInfo. Use optimistic mutations with rollback on error for a responsive offline experience.

Expo vs bare React Native: which should I choose?▼

Expo offers lower setup complexity, built-in OTA updates, and EAS Build for managed native code, while bare React Native gives direct native access at the cost of manual linking and custom CI. Expo supports custom native code through config plugins.

Does Expo Router support protected routes and authentication?▼

Yes, use an AuthProvider that reads tokens from expo-secure-store and redirects based on route segments. When the user is unauthenticated and outside the (auth) group, call router.replace to send them to the login screen.

Why is my React Native list scrolling slowly?▼

FlatList struggles with large datasets; switch to Shopify's FlashList with estimatedItemSize for better recycling. Also memoize list item components, use useCallback for renderItem, and avoid inline styles in render.

How do I deploy a React Native app to the App Store and Google Play?▼

Configure build profiles in eas.json, then run eas build for each platform and eas submit to upload to the stores. Use eas update to push over-the-air JavaScript updates without a full store review.