Skip to content
React components for efficiently rendering large lists and tabular data
Branch: feature/revers…
Clone or download
Pull request Compare This branch is 84 commits ahead, 107 commits behind bvaughn:master.
sudheerDev Merge pull request #19 from mattermost/MM-16381
MM-16381 Fix for channel intro not displaying at times
Latest commit 334cf26 Jun 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist MM-16381 Fix for channel intro not displaying at times Jun 20, 2019
src MM-16381 Fix for channel intro not displaying at times Jun 20, 2019
website Fixed a dypo in example code Dec 7, 2018
.editorconfig init create-react-library@2.3.6 May 5, 2018
.eslintignore Renamed "example" dir to "website" Jun 8, 2018
.eslintrc Initial commit May 5, 2018
.flowconfig Make itemData generic in grids and lists Oct 3, 2018
.gitignore Revert "Add package-lock as dependency" Mar 28, 2019
.prettierignore Renamed "example" dir to "website" Jun 8, 2018
.prettierrc Prettier lint-staged May 5, 2018
.travis.yml Rename NPPM 'flow:check' script to 'flow' Oct 3, 2018
CHANGELOG.md Merged master Dec 5, 2018
README.md
babel.config.js Fixes overlap of posts when height changes (#5) Apr 1, 2019
flow-template Fixed Flow-typing issue Oct 1, 2018
package.json Fixes overlap of posts when height changes (#5) Apr 1, 2019
rollup.config.js Upgrade to babel 7 Aug 29, 2018
yarn.lock Fixed deps Sep 18, 2018

README.md

react-window

React components for efficiently rendering large lists and tabular data

NPM registry Travis NPM license

Install

# Yarn
yarn add react-window

# NPM
npm install --save react-window

Usage

Learn more at react-window.now.sh.

Frequently asked questions

How is react-window different from react-virtualized?

I wrote react-virtualized several years ago. At the time, I was new to both React and the concept of windowing. Because of this, I made a few API decisions that I later came to regret. One of these was adding too many non-essential features and components. Once you add something to an open source project, removing it is pretty painful for users.

react-window is a complete rewrite of react-virtualized. I didn't try to solve as many problems or support as many use cases. Instead I focused on making the package smaller1 and faster. I also put a lot of thought into making the API (and documentation) as beginner-friendly as possible (with the caveat that windowing is still kind of an advanced use case).

If react-window provides the functionality your project needs, I would strongly recommend using it instead of react-virtualized. However if you need features that only react-virtualized provides, you have two options:

  1. Use react-virtualized. (It's still widely used by a lot of successful projects!)
  2. Create a component that decorates one of the react-window primitives and adds the functionality you need. You may even want to release this component to NPM (as its own, standalone package)! 🙂

1 - Adding a react-virtualized list to a CRA project increases the (gzipped) build size by ~33.5 KB. Adding a react-window list to a CRA project increases the (gzipped) build size by <2 KB.

License

MIT © bvaughn

You can’t perform that action at this time.