Build React Native 0.76+ apps with Expo SDK 52-54. Covers mandatory New Architecture (0.82+/SDK 55+), React 19 changes, SDK 54 breaking changes (expo-av, expo-file-system, Reanimated v4), and Swift iOS template. Prevents 16 documented errors. Use when building Expo apps, migrating to New Architecture, upgrading to SDK 54+, or fixing Fabric, TurboModule, propTypes, expo-updates crashes, or Swift AppDelegate errors.
View on GitHubskills/react-native-expo/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/brendadeeznuts1111/tier-1380-omega/blob/main/skills/react-native-expo/SKILL.md -a claude-code --skill react-native-expoInstallation paths:
.claude/skills/react-native-expo/# React Native Expo (0.76-0.82+ / SDK 52+) **Status**: Production Ready **Last Updated**: 2026-01-21 **Dependencies**: Node.js 20.19.4+, Expo CLI, Xcode 16.1+ (iOS) **Latest Versions**: react-native@0.81.5, expo@~54.0.31, react@19.2.3 --- ## Quick Start (15 Minutes) ### 1. Create New Expo Project (RN 0.76+) ```bash # Create new Expo app with React Native 0.76+ npx create-expo-app@latest my-app cd my-app # Install latest dependencies npx expo install react-native@latest expo@latest ``` **Why this matters:** - Expo SDK 52+ uses React Native 0.76+ with New Architecture enabled by default - New Architecture is **mandatory** in React Native 0.82+ (cannot be disabled) - Hermes is the only supported JavaScript engine (JSC removed from Expo Go) ### 2. Verify New Architecture is Enabled ```bash # Check if New Architecture is enabled (should be true by default) npx expo config --type introspect | grep newArchEnabled ``` **CRITICAL:** - React Native 0.82+ **requires** New Architecture - legacy architecture completely removed - If migrating from 0.75 or earlier, upgrade to 0.76-0.81 first to use the interop layer - Never try to disable New Architecture in 0.82+ (build will fail) ### 3. Start Development Server ```bash # Start Expo dev server npx expo start # Press 'i' for iOS simulator # Press 'a' for Android emulator # Press 'j' to open React Native DevTools (NOT Chrome debugger!) ``` **CRITICAL:** - Old Chrome debugger removed in 0.79 - use React Native DevTools instead - Metro terminal no longer streams `console.log()` - use DevTools Console - Keyboard shortcuts 'a'/'i' work in CLI, not Metro terminal --- ## Critical Breaking Changes (Dec 2024+) ### 🔴 New Architecture Mandatory (0.82+) **SDK Timeline:** - **Expo SDK 54** (React Native 0.81): Last release supporting Legacy Architecture - **Expo SDK 55** (React Native 0.83): New Architecture mandatory, Legacy completely removed **What Changed:** - **0.76-0.81 / SDK 52-54**: New Architecture default, legacy