React Virtuoso
React Virtuoso is the most powerful React virtual list component, full stop. Here's why:
- Variable sized items out of the box; no manual measurements or hard-coding item heights is necessary;
- Support for reverse (bottom up) scrolling and prepending items (chat, feeds, etc);
- Grouped mode with sticky headers;
- Responsive grid layout;
- Automatic handling of content resize;
- Custom Header, Footer, and empty list components;
- Pinned top items;
- Endless scrolling, press to load more;
- Initial top most item index;
- Scroll to index method.
Get Started
Grouped Mode
The GroupedVirtuoso
component is a variant of the "flat" Virtuoso
, with the following differences:
- Instead of
totalCount
, the component exposesgroupCounts: number[]
property, which specifies the amount of items in each group.
For example, passing[20, 30]
will render two groups with 20 and 30 items each; - In addition the
itemContent
property, the component requires an additionalgroupContent
property,
which renders the group header. ThegroupContent
callback receives the zero-based group index as a parameter.
Grid
The VirtuosoGrid
component displays same sized items in multiple columns.
The layout and item sizing is controlled through CSS class properties, which allows you to use media queries, min-width, percentage, etc.
Author
Petyo Ivanov