Use FlatList rather than rendering all 1000 rows in a ScrollView. Give each item a stable unique key through keyExtractor; memoize an item component; and keep renderItem, callbacks, and derived props stable where useful. Tune windowSize to about 5–10 for memory-heavy lists, set initialNumToRender to the first viewport, and limit maxToRenderPerBatch to about 5–10. For fixed-height rows, provide getItemLayout, and enable removeClippedSubviews on Android. Profile before and after to confirm whet...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill react-native-performance --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of React Native Performance?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-react-native-performance-agent-skills-standard)More formats (shields.io, HTML) on the badges page.
Use FlatList rather than rendering all 1000 rows in a ScrollView. Give each item a stable unique key through keyExtractor; memoize an item component; and keep renderItem, callbacks, and derived props stable where useful.
Tune windowSize to about 5–10 for memory-heavy lists, set initialNumToRender to the first viewport, and limit maxToRenderPerBatch to about 5–10. For fixed-height rows, provide getItemLayout, and enable removeClippedSubviews on Android. Profile before and after to confirm whether the JS or UI thread is the bottleneck.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!