Shopify Jul 31, 2025

FlashList v2: A Ground-Up Rewrite for React Native’s New Architecture

Article Summary

Shopify just eliminated one of React Native's biggest pain points: guessing item sizes for performant lists.

FlashList v2 is a complete ground-up rewrite that leverages React Native's New Architecture to deliver faster, more precise list rendering. With 2M+ monthly downloads, it now powers thousands of lists in Shopify's production app without requiring size estimates.

Key Takeaways

Critical Insight

FlashList v2 removes the cognitive load of list optimization by using synchronous measurements and progressive rendering to deliver smooth 60 FPS performance automatically.

The technical details behind their progressive rendering algorithm reveal why this wasn't possible before the New Architecture.

About This Article

Problem

FlashList v1 used async bridge calls to measure layouts, which created delays between requests and responses. This made it hard to render clean layouts without fixes applied on the native UI thread for both Android and iOS.

Solution

Talha Naqvi's team used React Native's New Architecture to make layout measurements synchronous. This let them apply corrections inside useLayoutEffect before anything painted to the screen, so they didn't need native code anymore.

Impact

The rewrite cut blank areas during scrolling by up to 50% compared to v1. It also removed the platform-specific code and reduced the maintenance work that came with native dependencies.