Skip to content

Releases: Flipkart/recyclerlistview

Version 1.4.0-beta.5

06 Jun 04:34
21049cc
Compare
Choose a tag to compare
Version 1.4.0-beta.5 Pre-release
Pre-release

Improvements

  • Stable Id support: Adds getStableId(index: number): string as second param in DataProvider 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 like lastOffset for more optimizations in app logic.
  • Improved warning in case of missing RLV bounds
  • Warning if mounted without any data

Bug Fixes

  • #178
  • #172 Only warning for now, in next major version we'll start throwing exceptions in case RLV is mounted without data.

Version 1.3.4

01 May 07:49
Compare
Choose a tag to compare

Changes

  • Fixed broken links in documentation
  • Formatting changes to README

Version 1.3.3

01 May 07:10
7f16679
Compare
Choose a tag to compare

Changes

  • Adjustment to default renderAheadOffset on web
  • Incremental loading/View type change sample added (Expo demo 1)
  • Documentation around performance

Version 1.3.2

19 Apr 10:59
c23a1a2
Compare
Choose a tag to compare

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

22 Mar 04:32
77d4791
Compare
Choose a tag to compare

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

11 Mar 15:36
879871d
Compare
Choose a tag to compare

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

09 Jan 13:02
c7bf5b8
Compare
Choose a tag to compare

Bug Fixes

  • Fixed issues with onVisibleIndexesChanged callback #98, #83
  • Changing layout provider will now force cell re-render

Version 1.2.2

02 Dec 14:27
593b763
Compare
Choose a tag to compare

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 sure shouldComponentUpdate is also defined in your item.

Version 1.2.1

21 Nov 14:38
396b2cf
Compare
Choose a tag to compare

Changelog

  • Fixes type specifications for the main component

Version 1.2.0

20 Nov 17:50
61486a6
Compare
Choose a tag to compare

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. Check ScrollComponent.ts for contracts.
  • Fully typed with TypeScript so, better intellisense in all IDEs.