Code changes don't show up in the running app, or Metro throws confusing module resolution errors, almost always caused by a stale bundler or Watchman cache.
Clear Metro's cache along with Watchman and node_modules, then do a completely fresh rebuild on both platforms.
Step-by-Step Guide
Restart Metro with a clean cache: npx react-native start --reset-cache
Clear Watchman's watch state: watchman watch-del-all
Delete temp cache folders: rm -rf $TMPDIR/metro-* $TMPDIR/haste-map-*
Reinstall dependencies fresh: rm -rf node_modules && npm install
For iOS: cd ios && pod install
For Android: cd android && ./gradlew clean
Uninstall the app from the device/emulator before rebuilding
Check metro.config.js for a misconfigured custom resolver
Found an issue with this solution?