react-native-shimmer-placeholder
Version:
<h2 align="center"> React Native Shimmer Placeholder </h2> <h5 align="center"> Placeholder for both IOS and Android </h5> <p align="center"> <img src="./example.gif"> </p>
112 lines (91 loc) • 2.52 kB
Markdown
<h2 align="center">
React Native Shimmer Placeholder
</h2>
<h5 align="center">
Placeholder for both IOS and Android
</h5>
<p align="center">
<img src="./example.gif">
</p>
## Get Started
### Installation
#### Step 1: Install react-native-linear-gradient
`npm i react-native-linear-gradient --save && react-native link react-native-linear-gradient`
or
`yarn add react-native-linear-gradient --save && react-native link react-native-linear-gradient`
#### Step 2: Install this package
`npm i react-native-shimmer-placeholder --save`
or
`yarn add react-native-shimmer-placeholder`
### Usage
#### Simple
``` js
import ShimmerPlaceHolder from './ShimmerPlaceholder.js'
<ShimmerPlaceHolder autoRun={true} />
```
#### Connect more components
``` js
componentDidMount(){
this.runPlaceHolder()
}
runPlaceHolder() {
if (Array.isArray(this.loadingAnimated)&&this.loadingAnimated.length>0) {
Animated.parallel(
this.loadingAnimated.map(animate=> {
if (animate&&animate.runAnimated) {
return animate.runAnimated()
}
return null
}),
{
stopTogether: false
}
).start(() => {
this.runAnimated()
})
}
}
_renderRows(loadingAnimated,numberRow,uniqueKey){
shimmerRows=[]
for(let index=0;index<numberRow;index++ ){
shimmerRows.push(
<ShimmerPlaceHolder
key={`loading-${index}-${uniqueKey}`}
ref = {(ref) => loadingAnimated.push(ref)}
style={{marginBottom: 7}}
/>
)
}
return(
<View>
{shimmerRows}
</View>
)
}
render(){
this.loadingAnimated=[]
return(
{this._renderRows(this.loadingAnimated,3,'3rows')}
)
}
```
More Detail see [this](https://github.com/tomzaku/react-native-shimmer-placeholder/blob/master/example/shimmer.js)
### Props
| Prop | Description | Default |
|---|---|---|
|**`isDisplayChildComponent`**| Display child components |false|
|**`style`**|Styles applied to the container of Shimmer Placeholder|`{backgroundColor: '#ebebeb',overflow: 'hidden'}`|
|**`width`**|With of row|200|
|**`duration`**|Duration of shimmer over a row|300|
|**`height`**|height of row|15|
|**`widthLine`**|width of shimmer|90|
|**`reverse`**|Reverse direction |`true`|
|**`autoRun`**|Run shimmer animated at begin |`true`|
|**`colorShimmer`**|Color of the shimmer. |*Inherited*|
### Methods
| Method | Description |
|---|---|
|**`runAnimated`**|Run shimmer animated right now |
### Contribute
Contact me if something wrong
Give me a star if it's helpful