React Native
Installation
SKILL.md
React Native Development Rules
Component Performance
FlatListfor any list over 10 items —ScrollViewwithmaploads everything in memory, FlatList virtualizeskeyExtractormust return stable unique strings — using index causes bugs on reorder and deletionReact.memoprevents re-renders when props unchanged — wrap pure display componentsuseCallbackfor functions passed to child components — new function reference triggers child re-render- Avoid inline styles in render — creates new object every render, extract to
StyleSheet.create
State Management
useStateis fine for component-local state — don't add Redux/Zustand for a toggle- Lift state to lowest common ancestor only — higher causes unnecessary re-renders
useMemofor expensive computations — but don't overuse, caching has overhead- Context re-renders all consumers on any change — split contexts by update frequency
- Avoid storing derived data in state — compute during render from source state