Releases: petyosi/react-virtuoso
More fixes for elastic bouncing in Safari
Fix elastic bounce in Safari
Contains a fix for #70
A host of new features!
Probably the biggest release since the initial one. New features:
- Initial Index lets you start the list from the middle or from the bottom.
- Prepend Items convenience method for prepending items to the top of the list.
- A range callback lets you track the scrolling changes of the list.
- Stick to bottom lets you build a
tail -f
like interface easily. - Scroll Seek Placeholders let you avoid loading data and display placeholders instead when the user scrolls too fast.
Under the hood, scrollToIndex
is now more resilient, and handles unexpected item heights.
A new property, maxRangeSize
lets you handle huge jagged lists (read more in the API reference).
Share your feedback in the issues section!
Community contributions!
Thanks to the contributors, a few new features were added:
itemsRendered
callback is exposedtotalListHeightChanged
callback is exposed
Documentation for both is available in the site (callback properties).
Server-Side Rendering
Server-side rendering now works for the Virtuoso component. You need to set the initialItemCount
property to render some items regardless of the container/item size.
Also, fixed error when setting the VirtuosoGrid totalCount
to zero: #24.
New component - VirtuosoGrid
The VirtuosoGrid
component displays same sized items in multiple columns.
The layout and item sizing are controlled through CSS class properties, which allows you to use media queries, min-width, percentage, etc.
Check the responsive grid columns example for a sample implementation.
Works in Edge!
Fix flickering in iOS Safari
Had to rework the rendering mechanism :( - rendering no longer relies on position: sticky
, which turned out to be the cause. Safari is the reason we can't have nice things.
On the plus side, using old-school repositioning seems to look smoother (the frame rate is actually the same).
Fix for safari in flex container
I tried to out-smart react and failed. Safari on macOS and iOS does not understand the update through the CSS class. Reverting to inline styles.
Customize Component Structure
New Features
- Components allow customization of the rendered markup through
Container
properties - example. - Material UI integration example
Fixes and Improvements
- Fixed positioning of group headers in endless scrolling example
- offset is now applied through classes, rendering should be a tad faster.