UNPKG

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
<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