Virtualize only the visible content for massive scrollable DOM nodes at 60FPS in TS/JS, React, Vue, Solid, Svelte, Lit & Angular while retaining 100% control over markup and styles.
Get Startedimport { useVirtualizer } from '@tanstack/react-virtual' const rowVirtualizer = useVirtualizer({ count: 1000, getScrollElement: () => parentRef.current, estimateSize: () => 36, }) // Map virtual rows to your UI
import { useVirtualizer } from '@tanstack/react-virtual' const rowVirtualizer = useVirtualizer({ count: 1000, getScrollElement: () => parentRef.current, estimateSize: () => 36, }) // Map virtual rows to your UI
With just a few divs and some inline styles, you're already well on your way to creating an extremely powerful virtualization experience.