Install
openclaw skills install react-nativeBuild performant cross-platform mobile apps with React Native components, navigation, and native modules.
openclaw skills install react-nativeFlatList for any list over 10 items — ScrollView with map loads everything in memory, FlatList virtualizeskeyExtractor must return stable unique strings — using index causes bugs on reorder and deletionReact.memo prevents re-renders when props unchanged — wrap pure display componentsuseCallback for functions passed to child components — new function reference triggers child re-renderStyleSheet.createuseState is fine for component-local state — don't add Redux/Zustand for a toggleuseMemo for expensive computations — but don't overuse, caching has overheaduseEffect cleanupuseFocusEffect for screen-specific side effects — runs on focus, not just mountnavigation.reset for auth flows — clears back stack, prevents returning to login after sign-inStyleSheet.create outside component body — creates styles once, not every renderflexDirection: 'column', no display: flex neededPlatform.select for platform-specific styles — cleaner than conditionals in style objectsexpo-dev-client enables native modules without full eject — best of both worldsInteractionManager.runAfterInteractions defers heavy work — keeps animations smoothuseNativeDriver: true for animations — runs on UI thread, not JS threadconsole.log in production kills performance — remove or use __DEV__ guardresizeMode appropriately — cover crops, contain letterboxes, stretch distortsImage.prefetch(url) before displayingreact-native-svg — better scaling than PNGs for iconsreact-native-fast-image — default Image has no persistent cacheasync in useEffect directly — must define async function inside, then call itkey warnings in lists — always use unique, stable keysuseEffect — subscriptions, timers, listeners leak without cleanup returnoverflow: 'hidden' for border radius clipping — iOS clips by defaultshadow* props, Android uses elevationBackHandler or navigation listenersnpx react-native clean for unexplained build failures — clears caches and derived datacd ios && pod install after adding native dependencies — often forgotten stepcd android && ./gradlew clean for stubborn build issues