What problem does it solve? Rendering thousands of DOM nodes for large lists or tables causes slow rendering and janky scrolling. This Skill provides the patterns and API reference for TanStack Virtual, which renders only visible items to keep DOM node count minimal regardless of dataset size. ## Core Features & Use Cases - List and Grid Virtualization: Render only viewport-visible rows and columns using useVirtualizer with absolute positioning and transform-based placement. - Dynamic Heights and Window Scrolling: Measure variable-height items with measureElement and virtualize full-page scrolling with useWindowVirtualizer. - Advanced Patterns: Combine with infinite queries for endless feeds, pin sticky headers via rangeExtractor, and customize smooth scrolling with scrollToFn. - Use Case: You have a library of 10,000 book entries in a Next.js app. Use this Skill to virtualize the list so only ~20 rows exist in the DOM at any time, keeping scrolling at 60FPS. ## Quick Start Virtualize my React list of 10,000 items using TanStack Virtual with dynamic row heights and an overscan of 5.