@ja-ka/react-native-fade-in-flatlist
Version:
An advanced React Native FlatList component with fade-in support for rendered items.
152 lines (108 loc) • 3.42 kB
Markdown
# react-native-fade-in-flatlist
Advanced React Native FlatList component with fade-in support for rendered items.
## Table of Contents
[Getting Started](#getting-started)
[Usage](#usage)
[Examples](#examples)
[Props](#props)
[To Do](#to-do)
## Getting Started
```bash
$ npm install -ka/react-native-fade-in-flatlist --save
```
or
```bash
$ yarn add -ka/react-native-fade-in-flatlist
```
## Usage
Repace React Native's `FlatList` component with `FadeInFlatList` imported from `-ka/react-native-fade-in-flatlist`:
```javascript
// Your code with React Native FlatList
import { FlatList } from 'react-native';
<FlatList
data={DATA}
renderItem={renderItem}
keyExtractor={keyExtractor}
/>
```
```javascript
// Your code with @ja-ka/react-native-fade-in-flatlist
import { FadeInFlatList } from '@ja-ka/react-native-fade-in-flatlist';
<FadeInFlatList
data={DATA}
renderItem={renderItem}
keyExtractor={keyExtractor}
/>
```
## Examples
|Example 1|Example 2|Example 3|
|:---:|:---:|:---:|
|<img src="assets/i0_d500_p1.gif" alt="drawing" height="600" width="277"/>|<img src="assets/i0_d500_p5.gif" alt="drawing" height="600" width="277"/>|<img src="assets/i1000_d2000_p3.gif" alt="drawing" height="600" width="277"/>|
```javascript
// Example 1
import { FadeInFlatList } from '@ja-ka/react-native-fade-in-flatlist';
<FadeInFlatList
initialDelay={0}
durationPerItem={500}
parallelItems={1}
itemsToFadeIn={10}
data={DATA}
renderItem={renderItem}
keyExtractor={keyExtractor}
/>
```
```javascript
// Example 2
import { FadeInFlatList } from '@ja-ka/react-native-fade-in-flatlist';
<FadeInFlatList
initialDelay={0}
durationPerItem={500}
parallelItems={5}
itemsToFadeIn={10}
data={DATA}
renderItem={renderItem}
keyExtractor={keyExtractor}
/>
```
```javascript
// Example 3
import { FadeInFlatList } from '@ja-ka/react-native-fade-in-flatlist';
<FadeInFlatList
initialDelay={1000}
durationPerItem={2000}
parallelItems={3}
itemsToFadeIn={10}
data={DATA}
renderItem={renderItem}
keyExtractor={keyExtractor}
/>
```
## Props
- [Inherited `FlatList` props...](https://reactnative.dev/docs/flatlist#props)
- [`initialDelay`](#initialdelay)
- [`durationPerItem`](#durationperitem)
- [`parallelItems`](#parallelitems)
- [`itemsToFadeIn`](#itemstofadein)
# Props
## `initialDelay`
Initial delay in milliseconds before the first item is rendered.
|Type|Requried|Default|
|---|---|---|
|number|no|0|
## `durationPerItem`
Time in milliseconds until the item is fully visible (opacity is 1).
|Type|Requried|Default|
|---|---|---|
|number|no|50|
## `parallelItems`
Number of items to be rendered in parallel. In case of `parallelItems={1}`, the next item starts to fade in only when the previous item is fully visible. In case of `parallelItems={2}`, the second items starts fading in when the previous item is half-visible (opacity is 0.5). In general, the next item starts fading in when the opacity of the previous item is equal to or greater than 1 / paralleLitems.
|Type|Requried|Default|
|---|---|---|
|number|no|1|
## `itemsToFadeIn`
Number of items to fade in. All items where index + 1 is greater than `itemsToFadeIn` are immediately visible.
|Type|Requried|Default|
|---|---|---|
|number|no|10|
# License
This library is published under the [MIT License](https://github.com/ja-ka/react-native-fade-in-flatlist/blob/master/LICENSE).