Overview
Version 3 is currently beta. The React Native API is stable; web support is new and evolving.
LLM links: llms.txt, llms-full.txt, llms-full.md
Legend List is a high‑performance, virtualized list for React Native and Web. It’s a drop‑in replacement for FlatList/FlashList on mobile and a fast, DOM‑native list on the web.
Compared to FlatList and FlashList, it's faster, simpler, and supports dynamic item sizes without hacks on React Native.
- ✨ Extremely fast
- ✨ Dynamic item sizes
- ✨ Optional recycling
- ✨ Bidirectional infinite lists
- ✨ Chat list without inverting
- ✨ Maintain content view position
- ✨ Recycling hooks
- 🧲 Sticky headers and SectionList support
For more information, check out:
- Legend List: Optimizing for Mobile & Web | React Universe Conf 2025
- Legend List: Optimizing for Peak List Performance | App.js Conf 2025
- Jay's conversation on React Native Radio
It's fast
This video was recorded as a performance test scrolling ludicrously fast with heavy items. LegendList handles expensive components with a quick recovery.
It uses less resources
A FlashLight measurement of the above test shows that LegendList uses less CPU while scrolling. And it uses less memory too! See the FlashLight results for more details.
Choose your platform
- React Native → Getting Started (React Native)
- Web → Getting Started (Web)
What’s new in v3
- Web support (no React Native dependency required)
- SectionList component (
@legendapp/list/section-list) alwaysRenderfor keeping selected items mounted- New
maintainVisibleContentPositionconfiguration stickyHeaderIndices(withstickyIndicesdeprecated)
Read the full change summary in Migration to v3.