MCPcopy Index your code
hub / github.com/bvaughn/react-virtualized

github.com/bvaughn/react-virtualized @9.22.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release 9.22.6 ↗ · + Follow
501 symbols 1,083 edges 151 files 56 documented · 11% 86 cross-repo links updated 17mo ago9.22.6 · 2025-01-20★ 27,0721 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

React virtualized

React components for efficiently rendering large lists and tabular data. Check out the demo for some examples.

If you like this project, 🎉 become a sponsor or ☕ buy me a coffee

Sponsors

The following wonderful companies have sponsored react-virtualized:

Learn more about becoming a sponsor!

A word about react-window

If you're considering adding react-virtualized to a project, take a look at react-window as a possible lighter-weight alternative. Learn more about how the two libraries compare here.

Getting started

Install react-virtualized using npm.

npm install react-virtualized --save

ES6, CommonJS, and UMD builds are available with each distribution. For example:

// Most of react-virtualized's styles are functional (eg position, size).
// Functional styles are applied directly to DOM elements.
// The Table component ships with a few presentational styles as well.
// They are optional, but if you want them you will need to also import the CSS file.
// This only needs to be done once; probably during your application's bootstrapping process.
import 'react-virtualized/styles.css';

// You can import any component you want as a named export from 'react-virtualized', eg
import {Column, Table} from 'react-virtualized';

// But if you only use a few react-virtualized components,
// And you're concerned about increasing your application's bundle size,
// You can directly import only the components you need, like so:
import AutoSizer from 'react-virtualized/dist/commonjs/AutoSizer';
import List from 'react-virtualized/dist/commonjs/List';

Note webpack 4 makes this optimization itself, see the documentation.

If the above syntax looks too cumbersome, or you import react-virtualized components from a lot of places, you can also configure a Webpack alias. For example:

// Partial webpack.config.js
{
  alias: {
    'react-virtualized/List': 'react-virtualized/dist/es/List',
  },
  ...rest
}

Then you can just import like so:

import List from 'react-virtualized/List';

// Now you can use <List {...props} />

You can also use a global-friendly UMD build:

<link rel="stylesheet" href="https://github.com/bvaughn/react-virtualized/raw/9.22.6/path-to-react-virtualized/styles.css" />
<script src="https://github.com/bvaughn/react-virtualized/raw/9.22.6/path-to-react-virtualized/dist/umd/react-virtualized.js"></script>

Now you're ready to start using the components. You can learn more about which components react-virtualized has to offer below.

Dependencies

React Virtualized has very few dependencies and most are managed by NPM automatically. However the following peer dependen

Extension points exported contracts — how you extend this code

CellMeasureCache (Interface)
(no doc) [3 implementers]
source/CellMeasurer/types.js

Core symbols most depended-on inside this repo

render
called by 492
source/TestUtils.js
getMarkup
called by 258
source/Grid/Grid.jest.js
getMarkup
called by 85
source/Table/Table.jest.js
getMarkup
called by 69
source/Collection/Collection.jest.js
getMarkup
called by 55
source/MultiGrid/MultiGrid.jest.js
has
called by 39
source/CellMeasurer/types.js
set
called by 33
source/CellMeasurer/types.js
simulateScroll
called by 32
source/Grid/Grid.jest.js

Shape

Function 258
Method 167
Class 75
Interface 1

Languages

TypeScript100%

Modules by API surface

source/Table/Table.js18 symbols
source/Grid/utils/ScalingCellSizeAndPositionManager.js18 symbols
source/Grid/utils/CellSizeAndPositionManager.js18 symbols
source/MultiGrid/MultiGrid.js17 symbols
source/Grid/Grid.js17 symbols
source/Grid/Grid.jest.js16 symbols
source/CellMeasurer/CellMeasurerCache.js15 symbols
source/Collection/Collection.js14 symbols
source/MultiGrid/CellMeasurerCacheDecorator.js13 symbols
source/Masonry/Masonry.js12 symbols
source/InfiniteLoader/InfiniteLoader.js12 symbols
source/Table/Table.jest.js11 symbols

Dependencies from manifests, versioned

@babel/cli7.7.0 · 1×
@babel/core7.7.2 · 1×
@babel/plugin-external-helpers7.2.0 · 1×
@babel/plugin-proposal-class-properties7.7.0 · 1×
@babel/plugin-transform-flow-comments7.12.13 · 1×
@babel/plugin-transform-modules-commonjs7.7.0 · 1×
@babel/plugin-transform-runtime7.6.2 · 1×
@babel/polyfill7.7.0 · 1×
@babel/preset-env7.7.1 · 1×
@babel/preset-flow7.0.0 · 1×
@babel/preset-react7.7.0 · 1×
@babel/preset-stage-27.0.0 · 1×

For agents

$ claude mcp add react-virtualized \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact