Menu
Libraries |
Category

virtua

  • A zero-config, fast and small (~3kB) virtual list (and grid) component for React, Vue, Solid, and Svelte.
  • Designed to provide the best performance without configuration while handling real-world challenges like dynamic size measurement, scroll position adjustment, iOS support, etc.
  • Goals include:
    • Zero-config virtualization
    • Fast performance (optimized CPU usage, reduced layout recalculations, minimized visual jumps)
    • Small bundle size (~3kB gzipped per component, tree-shakeable)
    • Flexibility (supports fixed/dynamic sizes, horizontal/reverse scrolling, RTL, mobile, infinite scrolling, DnD, keyboard navigation, etc.)
    • Framework agnostic (supports React, Vue, Solid, and Svelte)

Key Features

  • Vertical and horizontal scrolling
  • Dynamic list and item sizes
  • Reverse scroll (including iOS Safari support)
  • Infinite scroll (including bi-directional)
  • Scroll restoration
  • Smooth scrolling
  • SSR support
  • Svelte support (requires Svelte ≥ 5.0)
  • React Server Components (RSC) compatibility

Comparison with Alternatives

  • Smaller bundle size (~3kB vs competitors like react-virtuoso, react-window, etc.)
  • More features out-of-the-box (reverse scroll, dynamic sizing, RTL support, etc.)
  • Better framework coverage (includes Svelte, unlike many alternatives)

Documentation & Demos

Target Audience

  • Developers needing high-performance virtualization for large lists/grids
  • Projects using React, Vue, Solid, or Svelte
  • Teams prioritizing minimal bundle size and zero-config usability

infinite-scrollperformancereactreact-componentvirtualizationvirtualizedwindowingvirtual-scrollscrollingvueheadlessuisolidtabular-datasveltevirtual-list

Comments