mrkeyoor.com_
Thu 22 Oct 06:59 UTC
Webevaluationupdated 22 Oct 2026

react-virtualized review

React Virtualized supplies React components for large lists, tables and grids, with helpers for measuring cells and coordinating scrolling. The documented catalog includes MultiGrid for fixed rows and columns and CellMeasurer for cells whose sizes are not known ahead of time.

Verdict

Consider React Virtualized when a named component, such as MultiGrid or CellMeasurer, matches your interface. Check the API generation before adopting or upgrading it: the supplied version 10 documentation describes substantial changes, but the supplied release record does not establish that version 10 is distributed. For an ordinary list, compare react-window first. The failed source install provides no evidence about scrolling performance.

We ran it

Lab card: what happened when we ran react-virtualizedScreenshot of react-virtualized (react-virtualized-docs.vercel.app)
Install✗ · 15s
Build—
Repo227 files~26,529 lines of source · 1.6 MB · 1 CI workflows

Answers from our run

Does react-virtualized build from source?

The dependency install failed, and the project has no separate build step. We cloned commit c737715 into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use react-virtualized?

Applications that require Collection in version 10: the migration guide removes it without a direct replacement.

What are the alternatives to react-virtualized?

react-window, TanStack Virtual. Consider React Virtualized when a named component, such as MultiGrid or CellMeasurer, matches your interface.

SetupN/AThe source install failed at a logged Node engine mismatch; setup under a runtime satisfying the dependency range was not reproduced.
Docs4/5On the visible 1/3/5 documentation rubric, the README explains update behavior and the changelog supplies concrete migration steps. Older checkout examples require API reconciliation, and the current integration was not reproduced.
CommunityN/ADated repository metadata records a recent push and the issue listing shows activity, but these records do not establish response quality or reliable user support.
MaturityN/AInstallation stopped before application checks; current migration behavior, accessibility and browser rendering were not exercised.

Who it’s for

React teams with a concrete need for MultiGrid, CellMeasurer or coordinated scrolling.
Maintainers who can distinguish their installed API from the documented version 10 API and work through its migration steps.
Developers prepared to check sorting, changed row content and scroll targets in their own application.

Who it’s NOT for

Applications that require Collection in version 10: the migration guide removes it without a direct replacement.
Teams expecting version 10 to preserve old deep imports or controlled scroll props.
Projects using React below version 18 while adopting the documented version 10 API.
Developers choosing a library for an ordinary list without first checking whether react-window covers their needs.

Setup reality

The source-checkout install at commit c737715 failed in 15 seconds on October 18, 2026. Yarn 1.22.22 rejected rimraf@6.0.1: its required Node range was "20 || >=22", while the log reported Node 18.20.8. No build, test, dependency-footprint or audit result followed.

The recorded sandbox configuration was 3 CPUs, 8 GB RAM and image lab-node:22. That image label does not establish the actual runtime; the install log supplies the Node version.

The README identifies React and React DOM as peer dependencies and describes optional presentational CSS for Table. The documented version 10 migration requires React 18 or newer, replaces deep imports and moves AutoSizer to react-virtualized-auto-sizer 2.x. That integration was not reproduced in this run.

React Virtualized is worth considering when you need a particular component, such as MultiGrid for fixed rows and columns or CellMeasurer for unknown cell sizes. For an ordinary list, the project's own README suggests checking react-window as a possible lighter alternative. The adoption question is which component and API generation fit your application.

What happened when we ran it

The source-checkout install at commit c737715 failed in 15 seconds on October 18, 2026. Yarn 1.22.22 reached package fetching and rejected rimraf@6.0.1. The log gives its required Node range as "20 || >=22" and reports Node 18.20.8. This establishes an engine mismatch during that source setup. It does not establish that React Virtualized fails in a supported application environment.

The recorded sandbox configuration was 3 CPUs, 8 GB RAM and image lab-node:22. The log supplies the actual Node version; the image label does not explain why that runtime ran or establish an operating-system version. A useful next check is to repeat the source setup under a Node version satisfying the logged range. That check has not been performed here.

The checkout contained 227 files, about 26,529 source lines and occupied 1.6 MB. The scan found 1 CI workflow file, no Dockerfile and no tests directory. Those directory signals do not establish whether tests exist elsewhere. No build result, test result, dependency footprint or vulnerability count was supplied after installation failed. Browser speed and rendering correctness remain unmeasured.

Choose by the component you need

The current README lists Grid, List, Masonry, MultiGrid and Table. MultiGrid handles fixed rows and columns; CellMeasurer measures cells whose sizes are not known ahead of time. InfiniteLoader and ScrollSync provide additional reasons to inspect the catalog when the interface needs loading coordination or linked scrolling.

The application still supplies row or cell content and the sizing or measurement setup its chosen components require. The README identifies React and React DOM as peer dependencies. Table has optional presentational CSS, while functional positioning styles are applied directly to elements. These are documented integration details, not combinations rendered in our sandbox.

The documented version 10 API needs migration work

The changelog's version 10 section describes a TypeScript conversion and function components with hooks. The documented version 10 migration requires React 18 or newer. Deep imports are replaced by package-root imports, and AutoSizer moves to react-virtualized-auto-sizer 2.x.

Scroll control changes too. Controlled scroll props are replaced by ref methods. The migration guide says these methods perform one-time scrolls: targets are not reapplied when sizes or counts later change. To scroll to a newly added row, call the method after that row renders. Check that sequence in the application rather than assuming a familiar component name preserves the old behavior.

Collection has been removed with no direct replacement. WindowScroller is also removed; the documented replacement is the scrollElement prop on Grid, List, Masonry or Table. CellMeasurer children must expose a DOM element for measurement through a ref or its registerChild render prop. These requirements make the migration more than an import change for applications using those APIs.

The measured checkout and the current source documentation are separate evidence. The README at c737715 includes old deep-import examples and components removed by the version 10 migration. Use instructions matching the artifact you actually install.

Check updates after sorting or editing

The current README warns that collection data can change while the props used for comparison do not. Its example changes array contents without changing array length. It recommends passing a relevant additional prop or using the documented update methods.

A sortable table is a useful application check because rearranging rows can leave their count unchanged. Verify that changed content reaches visible rows, then check measured sizes and scroll targets where your interface depends on them. These are proposed checks, not results from this run.

Documentation earns 4/5 on this review's scale: 1 means unusable instructions, 3 means usable guidance needing reconciliation, and 5 means consistent guidance covering relevant operating limits. The README explains update behavior, and the changelog provides concrete migration steps. The score reflects those written instructions. Matching the measured checkout's older examples to the current API requires care, and the migration was not reproduced.

Compare component APIs before performance claims

React-window documents List and Grid components. React Virtualized suggests react-window as a possible lighter alternative. Compare its API first when it covers the interface you need. This review has no comparative bundle-size, frame-rate or setup measurements.

TanStack Virtual provides headless virtualization with control over markup and styles. Consider it when owning the rendering structure matters more to your application than using React Virtualized's component catalog. Its README's performance claims were not measured in this run.

What the supplied activity records establish

The supplied GitHub repository metadata, observed on October 22, 2026, records a last push at 2026-10-19T01:01:33Z. The supplied latest-release record identifies tag 9.22.6, dated 2025-01-20T21:42:46Z. That release record is metadata supplied with this review; it does not identify or verify an installed package artifact, and the bundle does not provide its release-endpoint URL or retrieval timestamp. It does not establish that the documented version 10 API is distributed.

The issue listing shows compatibility and scrolling reports updated or closed on October 18, 2026. Those records show activity, but neither older reports nor recent closures establish current rendering behavior or support quality.

Choose a component that meets a concrete requirement, confirm the installed API generation, and check its update and scrolling behavior in your application before relying on it.

Alternatives

ProjectWhat it isPick it when
react-windowReact list and grid components that React Virtualized suggests as a possible lighter alternative.Compare it first when its list or grid API covers your interface and you have no specific requirement for React Virtualized's component catalog.
TanStack VirtualHeadless virtualization with control over markup and styles.Consider it when you want to control the rendering structure and styles rather than adopt React Virtualized's component catalog.

What people are saying

  1. [velocity-scout] bvaughn/react-virtualized

Sources

  1. React Virtualized current README
  2. React Virtualized current changelog and migration guide
  3. React Virtualized issue activity
  4. React Virtualized README at measured commit c737715
  5. react-window README
  6. TanStack Virtual README

More web reviews

emdash · dioramas · elpis · deepseek-whale-girl · floorplan-3d · taro · the whole board →