Skip to content
Brian Vaughn edited this page Mar 19, 2016 · 23 revisions

Status: Released

This describes my tentative plans for the version 5 roadmap (currently in progress as PR #79). I welcome input from the community so please feel free to comment if you think certain features should (or should not) be included in the next upcoming major release.

Backwards-incompatible changes

  • Refactored FlexTable and VirtualScroll to be HOCs that wrap internal Grids.
  • Pro: Removes a lot of code duplication between Grid and VirtualScroll.
  • Con: Makes width a required attribute for both FlexTable and VirtualScroll. This can be mitigated somewhat using the AutoScroll HOC in width-only mode.
  • Change globally exported library name (for use with vanilla <script> tags) to window.ReactVirtualized instead of window["react-virtualized"] (see issue #86).
  • Remove horizontalPadding and verticalPadding properties from FlexTable. These properties are redundant; they can be controlled via the injected width and height.
  • Refactor InfiniteScroller and AutoSizer to accept function children so as to be more easily composable with each other and new HOCs like ScrollSync.
  • AutoSizer no longer accepts a className property or uses the global 'AutoSizer' class.

Backwards-compatible changes

  • Add ES6 module and jsnext:main target to enable tree-shaking support.
  • Update onScroll property to specific total scrollable area (so offsets can be converted into percentages).
  • Replace top / left positioning with transform: translate().
  • Create ScrollSync HOC for synchronizing scrolling between two or more virtualized components.

Upcoming minor features

  • HOC to wrap a Grid and convert column width, flex-grow, and flex-shrink properties into concrete numbers.
  • This could be used to replace FlexTable headers/body.
  • Create a HOC that adjusts available width based on whether scrollbars are present in another component (see #80)

Clone this wiki locally