1.0.17 • Published 2 years ago

@kkirbatski/react-native-infinite-scroller v1.0.17

Weekly downloads
16
License
Unlicense
Repository
github
Last release
2 years ago

@kkirbatski/react-native-infinite-scroller

Intro

This library was created because I was unable to find a good infinite scrolling component for react-native. The code in this library is heavily inspired by cubiq's iScroll. A lot of the infinite logic has been ported from iScroll. See src/InfiniteCalculator.ts.

Installation

npm install @kkirbatski/react-native-infinite-scroller --save

Usage

Take a look at the example.

Basically you can set wether or not the scroller is infinite, (if it's not infinite you will need to pass a totalItemCount property). If you don't want it to be infinite, it's your job to prevent rendering of the item in your render function. If you are rendering an empty item, be sure that the layout of the item matches that of other items. This library will infer the layout to calculate item offsets, so if your non-rendered item has no layout, we can't figure out property width/heights and item offsets.

Config

interface InfiniteScrollerProps<T> {
  dataset(start: number, count: number): Promise<T[]>;
  renderItem: (data: T | null) => React.ReactElement;
  style?: StyleProp<ViewStyle>;
  totalItemCount?: number | null;
  centerInWrapper?: boolean | null;
  startingPosition?: number | null;
  onScrollEnd?: (
  	scrollPosition: number,
  	scroller: InfiniteScroller<T>,
  ) => void | null;
  infiniteElementCount?: number | null;
}

Caveats

This library currently only works on the X-axis as that's all I needed.

License

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

1.0.17

2 years ago

1.0.16

3 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago