Releases: Flipkart/recyclerlistview
Releases · Flipkart/recyclerlistview
Version 1.4.0-beta.5
Improvements
- Stable Id support: Adds
getStableId(index: number): string
as second param inDataProvider
constructor. Significantly improves re-rendering on data set changes. Enables add/remove animations. - New prop
optimizeForInsertDeleteAnimations
forcefully unmounts removed items to kick in layout animations. Without it RLV prefers reusing the cell later. This prop requires stable ids. - Externalised Layout Provider: You can write your own and pass it in the same prop to RLV e.g, if you want masonry with recycling you can write it and open source yourself :)
- SSR Fixes to allow server builds
onRecreate
prop added which triggers a callback in case of context preservation passing necessary info likelastOffset
for more optimizations in app logic.- Improved warning in case of missing RLV bounds
- Warning if mounted without any data
Bug Fixes
Version 1.3.4
Changes
- Fixed broken links in documentation
- Formatting changes to
README
Version 1.3.3
Changes
- Adjustment to default
renderAheadOffset
onweb
- Incremental loading/View type change sample added (Expo demo 1)
- Documentation around performance
Version 1.3.2
Bug Fixes:
- Fixed type for
externalScrollView
prop - Added new prop
scrollViewProps
for better typescript support, it proxies all given props to the internal ScrollView
Version 1.3.1
Improvements
- RNW mode doesn't import
Animated
by default leading to reduced bundle sizes. - RNW mode now uses
transforms
to position and shift items leading to better performance, almost identical to/web
mode.
Version 1.3.0
New Features:
- ItemAnimator interface added, customize to your will how RLV handles layout changes. Allows you to modify animations that move cells. You can do things like smoothly move an item to a new position when height of one of the cells has changed. StableId work is in progress which will further strengthen this. Works on all supported platforms.
Changes:
- Default flex direction is being optimized on pure web version to match React Native. This will lead to more consistent ports. Can be a breaking change for some use cases. Please test before upgrading.
- Performance improvements on web and react-native-web version.
- In case of non deterministic rendering
DefaultItemAnimator
is used to shift items from estimated positions to actual. This looks better and avoids the need to skip frames while layout settles down. This also improves load time by atleast 2 frames.
Bug Fixes
- Missing
scrollTo
method on web fixed.
Version 1.2.6
Version 1.2.2
Improvements
- Significant reduction in layout thrashing while having
forceNonDeterministicRendering={true}
. This will greatly improve the performance for lists having non deterministic and variable heights. - New prop
extendedState
is now added where all extra data that list items depend on can be passed. Changing this object will re-render all items. Make sureshouldComponentUpdate
is also defined in your item.
Version 1.2.1
Changelog
- Fixes type specifications for the main component
Version 1.2.0
Deprecated
- Web support via extra webpack plugin RLV_ENV is no longer supported/needed. Import from
recyclerlistview/web
instead. To preserve import path you may use aliases.
Bug fix
- Fixed incorrect
onVisibleIndexesChanged
trigger on first mount. - Fixed issue where items wouldn't resize on orientation change.
New features
externalScrollView
prop added allowing you to supply your own scroll providers if needed. CheckScrollComponent.ts
for contracts.- Fully typed with TypeScript so, better intellisense in all IDEs.