- ContextProvider
- DataProvider
- BaseLayoutProvider
- BaseLayoutProvider
- BaseLayoutProvider
- Component
- Component
- Component
- Component
- Error
- VirtualRenderer
- RecycleItemPool
- ViewabilityTracker
- BinarySearch
- TSCast
- default
- default
- default
- DefaultJSItemAnimator
- DefaultJSItemAnimator
- BaseItemAnimator
- AutoScroll
- LayoutManager
- LayoutManager
- ProgressiveListView
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.
Largest value from given values that is smaller or equal to the target number.
Parameters
values
target
Smallest value from given values that is larger or equal to the target number.
Parameters
values
target
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.
This will incremently update renderAhread distance and render the page progressively.