Repolode
bvaughn

bvaughn/react-virtualized

React components for efficiently rendering large lists and tabular data by only drawing the visible rows and cells.

Stars
27,069
Forks
3,017
Open issues
0
Last commit
3 days ago

What is it?

react-virtualized is a set of React components for displaying large lists, grids and tables without rendering every item at once. Components such as List, Grid, Table and Masonry only mount the cells currently in the viewport, which keeps rendering fast when the dataset is large.

The package includes CellMeasurer for cells whose sizes are not known in advance, and higher-order components like InfiniteLoader, ScrollSync, ColumnSizer and ArrowKeyStepper for loading more data, synchronizing scroll positions and handling keyboard navigation. Grid, List, Masonry and Table can also scroll with the window or another scrollable element. Installation is via npm, and it ships with TypeScript types.

The project notes that AutoSizer moved to the separate react-virtualized-auto-sizer package as of version 10, and suggests react-window as a lighter alternative for new projects.

Key features

  • 01Virtualized List, Grid, Table and Masonry components that render only visible cells.
  • 02CellMeasurer for measuring dynamically sized cells.
  • 03InfiniteLoader for loading data as the user scrolls.
  • 04ScrollSync for keeping multiple scrollable areas aligned.
  • 05Window scrolling support via the scrollElement prop.
  • 06Tree-shakeable ES and CommonJS builds with TypeScript types.

Use cases

  • Rendering a table with thousands of rows in a React admin dashboard.
  • Building a spreadsheet-like grid with fixed headers and columns.
  • Creating an infinite-scrolling feed or list loaded page by page.
  • Displaying a long, variable-height list such as chat messages or logs.

Quick start

  1. 1

    Install react-virtualized with npm

    npm install react-virtualized --save

Things to know

  • The README recommends react-window as a lighter-weight alternative for new projects.
  • Peer dependencies react and react-dom must be installed by your project.

Topics

FAQ

What is react-virtualized?
React components for efficiently rendering large lists and tabular data by only drawing the visible rows and cells. react-virtualized is a set of React components for displaying large lists, grids and tables without rendering every item at once. Components such as List, Grid, Table and Masonry only mount the cells currently in the viewport, which keeps rendering fast when the dataset is large.
Is react-virtualized free to use? What license does it have?
react-virtualized is open source under the MIT license. Check the license terms before using it in commercial products.
Is react-virtualized still maintained?
Actively maintained. The last commit to react-virtualized was on Oct 19, 2026.
What can I use react-virtualized for?
Rendering a table with thousands of rows in a React admin dashboard. Building a spreadsheet-like grid with fixed headers and columns. Creating an infinite-scrolling feed or list loaded page by page. Displaying a long, variable-height list such as chat messages or logs.
How do I install react-virtualized?
Install react-virtualized with npm: npm install react-virtualized --save
Where can I get react-virtualized?
The source code and installation instructions are on GitHub: https://github.com/bvaughn/react-virtualized

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects