awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
petyosi avatar

petyosi/react-virtuoso

0
View on GitHub↗
6,348 stars·348 forks·TypeScript·2 viewsvirtuoso.dev↗

React Virtuoso

React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to handle auto-scroll, sticky headers, and bidirectional loading.

The library distinguishes itself with specialized components for common data display patterns, including grouped lists with sticky headers that remain fixed while scrolling through each group, chat message lists with auto-scroll and scroll position control for streaming responses, responsive multi-column grids and masonry layouts, and virtualized HTML tables with sticky headers and columns. It supports on-demand data loading triggered by scroll position, enabling endless scrolling and bidirectional data fetching. Each component can be customized by swapping default HTML elements, CSS classes, or styled components for the scroller, viewport, list, header, footer, and individual items.

The library provides declarative scroll control, programmatic scrolling to specific items, and flexible vertical alignment for short lists. It uses ResizeObserver to detect container and item dimension changes, recalculating scroll metrics and re-rendering visible items as needed. The documentation covers installation, component APIs, and configuration options for each virtualized layout type.

Features

  • Scroll-Triggered Data Loaders - Provides scroll-triggered data loading for endless scrolling and bidirectional fetching in virtualized lists.
  • Scroll-Triggered Data Loaders - Provides scroll-triggered data loading for endless scrolling and bidirectional fetching in virtualized lists.
  • DOM Node Recycling - Renders only visible items plus a configurable overscan buffer, recycling DOM nodes for smooth scrolling.
  • Scroll-Based Resource Loading - Provides scroll-triggered data loading for endless scrolling and bidirectional fetching.
  • Index-Based Scroll Anchoring - Implements index-based scroll anchoring to maintain visual position when items are added or removed.
  • Auto-Scrolling Viewports - Automatically scrolls to the latest message when new content arrives in chat interfaces.
  • Chat Message List Renderers - Renders chat message lists with auto-scroll, scroll position control, and support for streaming responses.
  • Virtualized Chat Message Lists - Ships a virtualized chat message list component with auto-scroll and streaming response support.
  • Virtualized List Rendering - Renders large lists efficiently by displaying only items in the visible viewport.
  • Virtual Grid Renderers - Provides a virtualized grid component for responsive multi-column and masonry layouts with large datasets.
  • Infinite Scrolling - Implements infinite scrolling with automatic content loading as the user scrolls through virtualized lists.
  • Virtualized Grouped Lists - Provides a React component for grouped lists with virtualized items and sticky headers.
  • Sticky Header Grouped Lists - Renders grouped lists with sticky headers that remain fixed while scrolling through each group's items.
  • Virtualized Grouped Lists - Renders grouped lists with virtualized items and sticky headers that remain fixed while scrolling through each group.
  • Dynamic Item Size Calculators - Automatically measures and renders items of varying heights without requiring manual size calculations.
  • Runtime Height Caching - Provides automatic runtime measurement and caching of variable item heights for accurate virtualized scrolling.
  • Virtualized Variable-Height Items - Automatically measures and adjusts variable-height items in virtualized lists at runtime.
  • Message List Renderers - Renders virtualized message lists with auto-scroll and scroll position control for conversation histories.
  • Virtual Scroll Layout Recalculators - Uses ResizeObserver to dynamically recalculate scroll metrics when container or item dimensions change.
  • Infinite Scroll Triggers - Triggers loading of additional content when the user scrolls to the end of the list.
  • Scroll State Machines - Maintains a scroll position state machine to coordinate auto-scroll, sticky headers, and bidirectional loading.
  • Grouped List Sticky Headers - Ships a specialized component that renders grouped lists with sticky headers that swap at group boundaries.
  • Virtual List Renderers - Provides a virtualized list renderer that accepts custom UI components for items, groups, and containers.
  • Virtualized Data Tables - Ships a virtualized HTML table component with sticky headers, columns, and row virtualization.
  • Virtualized List Rendering - Renders large datasets efficiently by displaying only visible items in the viewport with automatic variable height handling.
  • CSS Class and Styled Component Styling - Provides CSS class and styled component overrides for customizing grid item and list styling.
  • Component Slot Customization - Allows swapping default header, footer, sticky elements, and loading indicators with custom components.
  • Virtual Scroller Structure Overrides - Lets developers override the default HTML elements for the scroller, viewport, list, header, footer, and empty placeholder.
  • Virtualized - Allows replacing default item, group, or list containers with custom React components for virtualized rows.
  • Column-Based Responsive Grids - Provides a responsive multi-column grid that adapts to screen width through CSS-based column sizing.
  • Virtualized - Ships a virtualized masonry layout for product listings and image galleries.
  • Responsive Grid Layouts - Provides a responsive multi-column grid component that adapts to screen width using CSS-controlled layout.
  • Scroll Position Maintenance - Updates scroll position automatically based on data property changes with smooth animation.
  • Scroll-to-Index Mappers - Scrolls the virtual list to bring a specific item index into view with alignment options.
  • Virtual Scrollers - Provides a virtual scroller component whose internal HTML structure can be customized via element overrides.

Star history

Star history chart for petyosi/react-virtuosoStar history chart for petyosi/react-virtuoso

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does petyosi/react-virtuoso do?

React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to…

What are the main features of petyosi/react-virtuoso?

The main features of petyosi/react-virtuoso are: Scroll-Triggered Data Loaders, DOM Node Recycling, Scroll-Based Resource Loading, Index-Based Scroll Anchoring, Auto-Scrolling Viewports, Chat Message List Renderers, Virtualized Chat Message Lists, Virtualized List Rendering.

What are some open-source alternatives to petyosi/react-virtuoso?

Open-source alternatives to petyosi/react-virtuoso include: yanzhenjie/swiperecyclerview — SwipeRecyclerView is an Android library that extends the standard RecyclerView with swipeable action menus,… flipkart/recyclerlistview — Recyclerlistview is a cross-platform virtualized list component for React Native and web. It functions as a… addepar/ember-table — Ember Table is a component library designed for rendering high-performance data grids and virtualized lists within… inokawa/virtua. metafizzy/infinite-scroll — Infinite Scroll is a JavaScript library that automatically loads and appends the next page of content when a user… sadmann7/shadcn-table — This project is a React data table component integrated with shadcn/ui. It provides a set of tabular data grids that…

Open-source alternatives to React Virtuoso

Similar open-source projects, ranked by how many features they share with React Virtuoso.
  • yanzhenjie/swiperecyclerviewyanzhenjie avatar

    yanzhenjie/SwipeRecyclerView

    5,713View on GitHub↗

    SwipeRecyclerView is an Android library that extends the standard RecyclerView with swipeable action menus, drag-and-drop item reordering, and swipe-to-delete gesture detection. It provides a complete set of interactive list behaviors that let users reveal contextual buttons by swiping list items left or right, rearrange items by long-pressing and dragging them to new positions, and remove items with a horizontal swipe gesture that automatically updates the underlying data model. The library distinguishes itself by combining multiple interaction patterns into a single, cohesive component. It

    Javafooterviewheaderviewitem-drag
    View on GitHub↗5,713
  • flipkart/recyclerlistviewFlipkart avatar

    Flipkart/recyclerlistview

    5,440View on GitHub↗

    Recyclerlistview is a cross-platform virtualized list component for React Native and web. It functions as a cell-recycling UI library that reuses a small set of off-screen components by updating their data rather than creating new views for every item. The framework includes a dynamic grid layout engine that supports staggered grids and variable item heights, allowing for instant switching between list and grid view modes. The library provides capabilities for virtual scrolling management, including viewability tracking, sticky headers, and scroll position restoration. It also supports infin

    TypeScript
    View on GitHub↗5,440
  • inokawa/virtuainokawa avatar

    inokawa/virtua

    3,460View on GitHub↗
    TypeScriptheadlessuiinfinite-scrollperformance
    View on GitHub↗3,460
  • addepar/ember-tableAddepar avatar

    Addepar/ember-table

    1,685View on GitHub↗

    Ember Table is a component library designed for rendering high-performance data grids and virtualized lists within Ember applications. It provides the UI primitives necessary to display hundreds of thousands of records smoothly by recycling DOM nodes and rendering only the items visible in the viewport. The library includes advanced layout management tools that support live column resizing, reordering, scaling, and structural region pinning to lock headers, footers, and specific columns in place during scrolling. It also features hierarchical row flattening, transforming nested tree structur

    JavaScriptemberember-addontable
    View on GitHub↗1,685
  • See all 30 alternatives to React Virtuoso→