A virtualized list of arbitrary items (set using the renderItem prop), which only renders the items that are visible within the "viewport" of the list. This behavior drastically increases the performance of a list with a lot of items (with high render costs). Optionally a "virtualBufferFactor" prop can be set to increase the amount of items being rendered off-screen.
Additionally, VirtualList supports scrolling items into view. By changing the "selectedItems" prop, VirtualList will scroll the last item from this array into view.
Whether or not the items have a mount/unmount animation. When set to true and changing the "items" prop, it will merge in the next set of items and set additional properties on each item at specified times:
item.isAdded: set when the item has been added.
item.isRemoved: set when the item has been removed.
item.isMoved: set when the position of the item in the array has been moved.
Additionally an "onItemIsRemoved" callback property is passed to the "renderItem" prop. This callback should be called when the unmount animation is done. This will result in the item being completely removed from the set of items in the state and eventually the DOM.
An estimation of the average height of the elements/components returned from "renderItem". VirtualList will use this to determine the height of the vertical scrollbar. When an item is measured, VirtualList will use the measured height instead of the estimated height.
Key To Use As Id
An arbitrary set of items, each item should at least include the property set as "itemKeyToUseAsId".
Item Double Click
A callback that is called for each item in the items array which renders the item.