Skip to content
Brian Vaughn edited this page Feb 12, 2016 · 23 revisions

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.

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).
  • 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 for scroll-syncing any collection of virtualized components along horizontal, vertical, or both axes.

Under consideration

  • Create "interface" for virtualized public API methods and callback-properties (to simplify composing HOCs).
  • Create a HOC that adjusts available width based on whether scrollbars are present in another component (see #80)
  • Update AutoSizer, InfiniteScroller, and other HOCs to be composable in either order.

Clone this wiki locally