React Native Ecosystem
Covers React Native ecosystem libraries and production patterns as of 2026.
See also:
- Core RN primitives (View, Text, StyleSheet, FlatList, New Architecture) →
react-native-core
- Expo SDK and EAS tooling →
react-native-expo
- Deep performance work (FPS, bundle, TTI, memory, native) →
react-native-performance
- React Native Testing Library deep dive →
react-native-testing
Core References
| Topic |
Description |
Reference |
| Navigation |
React Navigation v7 — NativeStack, tabs, drawer, typed routes, modals |
core-navigation |
| State Management |
Zustand, Jotai, Redux Toolkit — setup, devtools, persistence patterns |
core-state-management |
| Data Fetching |
TanStack Query v5 + Axios — queries, mutations, infinite lists, offline |
core-data-fetching |
| TypeScript |
Strict config, component typing, navigation typing, zod validation |
core-typescript |
Features
Animations & Gestures
| Topic |
Description |
Reference |
| Reanimated v3 |
useSharedValue, useAnimatedStyle, withTiming/Spring, layout animations, Keyframe |
features-reanimated |
| Gesture Handler v2 |
GestureDetector, Tap/Pan/Pinch/LongPress, gesture composition, Reanimated integration |
features-gesture-handler |
Device & Platform
| Topic |
Description |
Reference |
| Storage |
MMKV, AsyncStorage, Expo SecureStore — choosing the right solution |
features-storage |
| Permissions |
react-native-permissions — check, request, rationale, openSettings |
features-permissions |
| Push Notifications |
FCM + APNs via Firebase, token registration, foreground/background handling |
features-push-notifications |
Best Practices
Advanced
| Topic |
Description |
Reference |
| Deep Linking |
Universal Links, App Links, React Navigation linking config, dynamic links |
advanced-deep-linking |
Key Recommendations
- Navigation: Use
createNativeStackNavigator over JS stack; type all routes with RootStackParamList
- State vs server: Zustand for client/UI state; TanStack Query for server state — never mix roles
- Animations: Prefer Reanimated v3 over the legacy
Animated API; worklets run on the UI thread by default
- Storage: MMKV for frequent read/write (sync, 10× faster); AsyncStorage for simple persistence; SecureStore for credentials
- TypeScript: Enable
strict: true; type navigation with useNavigation<NavigationProp<RootStackParamList>>()