Skip to content

Latest commit

 

History

History
173 lines (106 loc) · 3.71 KB

jsdoc_private.md

File metadata and controls

173 lines (106 loc) · 3.71 KB

Table of Contents

ContextProvider

DataProvider

BaseLayoutProvider

Created by talha.naqvi on 05/04/17. You can create a new instance or inherit and override default methods You may need access to data provider here, it might make sense to pass a function which lets you fetch the latest data provider Why only indexes? The answer is to allow data virtualization in the future. Since layouts are accessed much before the actual render assuming having all data upfront will only limit possibilites in the future.

By design LayoutProvider forces you to think in terms of view types. What that means is that you'll always be dealing with a finite set of view templates with deterministic dimensions. We want to eliminate unnecessary re-layouts that happen when height, by mistake, is not taken into consideration. This patters ensures that your scrolling is as smooth as it gets. You can always increase the number of types to handle non deterministic scenarios.

NOTE: You can also implement features such as ListView/GridView switch by simple changing your layout provider.

BaseLayoutProvider

BaseLayoutProvider

Component

Component

Component

Component

Error

VirtualRenderer

RecycleItemPool

ViewabilityTracker

BinarySearch

findValueSmallerThanTarget

Largest value from given values that is smaller or equal to the target number.

Parameters

  • values
  • target

findValueLargerThanTarget

Smallest value from given values that is larger or equal to the target number.

Parameters

  • values
  • target

TSCast

default

default

default

DefaultJSItemAnimator

Default implementation of RLV layout animations for react native. These ones are purely JS driven. Also, check out DefaultNativeItemAnimator for an implementation on top of LayoutAnimation. We didn't use it by default due the fact that LayoutAnimation is quite unstable on Android and to avoid unnecessary interference with developer flow. It would be very easy to do so manually if you need to. Check DefaultNativeItemAnimator for inspiration. LayoutAnimation definitely gives better performance but is hardly customizable.

DefaultJSItemAnimator

BaseItemAnimator

AutoScroll

LayoutManager

LayoutManager

ProgressiveListView

This will incremently update renderAhread distance and render the page progressively.