Marked as helpful by the asker
Memoization has a cost; sprinkling it everywhere is not optimization. What actually fixes list scrolling:
FlatListwithgetItemLayoutif rows have a fixed height.- Row component wrapped in
React.memowith a stablekeyExtractor. - No inline arrow functions passed to rows (
onPress={() => ...}recreates per render). - Images with explicit width/height.
Measure with the Perf Monitor before and after each one. Ask Claude Code for one change at a time, with the fps number as the acceptance test.