react-native Errors

20 error patterns

react-native3 fixes

Metro bundler crash or port conflict

Metro.*error|metro bundler.*crashed|EADDRINUSE.*8081

  • Kill existing Metro process: npx kill-port 8081
  • Clear Metro cache: npx react-native start --reset-cache
react-native3 fixes

React Native native module not found

Native module.*cannot be null|TurboModuleRegistry.*not found|NativeModules.*undefined

  • Run npx pod-install (iOS) or rebuild the project after adding native deps
  • For New Architecture, ensure the module implements TurboModule interface
react-native3 fixes

React Native Android Gradle build failure

Gradle.*BUILD FAILED|execution failed for task.*:app:

  • Run cd android && ./gradlew clean then rebuild
  • Check android/gradle.properties for JVM memory: org.gradle.jvmargs=-Xmx4g
react-native3 fixes

iOS code signing / provisioning error

Signing.*error|Code Sign error|provisioning profile.*not found|CODESIGNING

  • Open Xcode, select team in Signing & Capabilities, let Xcode manage signing
  • Ensure the provisioning profile matches the bundle identifier
react-native3 fixes

Flipper debugging tool error

Flipper.*error|FlipperKit.*not found|Could not find.*Flipper

  • Update Flipper pods: FLIPPER_VERSION in Podfile to match installed Flipper
  • Remove Flipper from production builds — it's dev-only
react-native3 fixes

Hermes engine error

Hermes.*error|HermesInternal.*not available|hermes.*compilation.*failed

  • Enable Hermes in android/app/build.gradle: hermesEnabled = true
  • For iOS, ensure hermes_enabled = true in Podfile and run pod install
react-native3 fixes

React Native view manager not registered

Invariant Violation.*requireNativeComponent|UIManager.*cannot find

  • Rebuild the native project after installing a UI library
  • Check that the native module's ViewManager is registered in the package
react-native3 fixes

React Native FlatList rendering issue

VirtualizedList.*never.*render|FlatList.*content.*blank|ScrollView.*performance

  • Add keyExtractor prop and ensure it returns unique stable strings
  • Set getItemLayout for fixed-height items to skip measurement
react-native3 fixes

React Native network request failure

Network request failed|fetch.*failed.*react.*native|TypeError.*Network

  • For iOS, add App Transport Security exception in Info.plist for HTTP
  • Check Android network_security_config.xml allows cleartext if using HTTP
react-native3 fixes

React Navigation routing error

Cannot.*navigate.*unmounted|navigation.*undefined|No route.*named

  • Ensure NavigationContainer wraps the entire app at root level
  • Check route names match exactly between navigator definition and navigate() calls
react-native3 fixes

iOS CocoaPods installation error

Pod.*install.*error|CocoaPods.*not installed|CDN.*spec.*repo.*error

  • Run: cd ios && pod install --repo-update
  • If CDN fails, switch to trunk: pod repo remove trunk then pod install
react-native3 fixes

iOS duplicate symbol / linking error

duplicate symbols.*linking|ld.*duplicate|Multiple commands produce

  • Check for duplicate library imports in Podfile — remove manual linking if using autolinking
  • Clean derived data: rm -rf ~/Library/Developer/Xcode/DerivedData
react-native3 fixes

React Native bundle loading failure

Unable to load script.*bundle|Could not connect to development server

  • Ensure Metro bundler is running: npx react-native start
  • For physical device, set the correct IP in the dev menu (shake device)
react-native3 fixes

React Native Animated native driver error

Animated.*useNativeDriver.*not supported|animation.*native driver.*error

  • Not all styles support useNativeDriver: true (only transform and opacity do)
  • Set useNativeDriver: false for layout animations (width, height, margin)
react-native3 fixes

React Native AsyncStorage error

AsyncStorage.*error|@react-native-async-storage.*not linked

  • Install correctly: npm install @react-native-async-storage/async-storage
  • Run pod install for iOS after installing the package
react-native3 fixes

React Native Android permission denied

Permission.*denied.*android|PERMISSION_DENIED|missing.*android\.permission

  • Add permission to AndroidManifest.xml
  • For runtime permissions (camera, location), use PermissionsAndroid.request()
react-native3 fixes

React Native New Architecture (Fabric/TurboModules) error

New Architecture.*error|Fabric.*not supported|Codegen.*failed

  • Enable New Architecture: newArchEnabled=true in gradle.properties (Android)
  • For iOS, set RCT_NEW_ARCH_ENABLED=1 in pod install
react-native3 fixes

React Native Android device/emulator connection error

INSTALL_FAILED|adb.*install.*error|device.*not found|no devices

  • Check device is connected: adb devices (should list your device)
  • Enable USB debugging on physical device in Developer Options
react-native3 fixes

React Native image asset resolution error

image.*not found|require.*image.*failed|Cannot resolve.*\.(png|jpg)

  • Use require('./path/to/image.png') with correct relative path from component file
  • For Android, ensure images are in android/app/src/main/res/drawable* folders
react-native3 fixes

React Native file watcher error (Watchman)

Watchman.*error|EMFILE.*too many open files|inotify.*limit

  • Increase inotify watchers: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
  • Restart Watchman: watchman shutdown-server then start Metro again