react-native-shimmer-placeholder-1
v1.0.2
Published
<h2 align="center"> React Native Shimmer Placeholder </h2> <p align="center"> <a href="https://www.npmjs.com/package/react-native-shimmer-placeholder"><img src="https://img.shields.io/npm/v/react-native-shimmer-placeholder.svg?style=flat-square"></a>
Maintainers
Readme
Get Started
Installation
Step 1: Install react-native-linear-gradient-1 (dependence)
npm i react-native-linear-gradient-1 --save && react-native link react-native-linear-gradient-1
or
yarn add react-native-linear-gradient-1 && react-native link react-native-linear-gradient-1
Step 2: Install this package
npm i react-native-shimmer-placeholder --save
or
yarn add react-native-shimmer-placeholder
That's all!
For who using Expo
Just install direct this package
npm install https://github.com/tomzaku/react-native-shimmer-placeholder.git#expo --saveUsage
Simple
import ShimmerPlaceHolder from 'react-native-shimmer-placeholder'
<ShimmerPlaceHolder autoRun={true} />
<ShimmerPlaceHolder autoRun={true} visible={isFetched}>
<Text>
Wow, awesome here.
</Text>
</ShimmerPlaceHolder>
Connect more components
componentDidMount() {
this.runPlaceHolder();
}
runPlaceHolder() {
if (Array.isArray(this.loadingAnimated) && this.loadingAnimated.length > 0) {
Animated.parallel(
this.loadingAnimated.map(animate => {
if (animate&&animate.getAnimated) {
return animate.getAnimated();
}
return null;
}),
{
stopTogether: false,
}
).start(() => {
this.runPlaceHolder();
})
}
}
_renderRows(loadingAnimated, numberRow, uniqueKey) {
let 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
Props
| Prop | Description | Type | Default |
|---|---|---| ---|
|visible| visible child components | boolean |false|
|style|Styles applied to the container of Shimmer Placeholder| |{backgroundColor: '#ebebeb',overflow: 'hidden'}|
|width|With of row| number |200|
|duration|Duration of shimmer over a row| number |300|
|height|height of row| number |15|
|widthShimmer|percent of line placeholder| number |1.0|
|reverse|Reverse direction | boolean |true|
|autoRun|Run shimmer animated at begin| boolean |false|
|isInteraction|Defines whether or not the shimmer animation creates an interaction handle on the InteractionManager| boolean |true|
|colorShimmer|Color of the shimmer.| string |['#ebebeb', '#c5c5c5', '#ebebeb']|
|backgroundColorBehindBorder|If you use border in style you have to set background behide(to force Android work).| string |'white'|
Methods
| Method | Description | Type
|---|---| --- |
|getAnimated|get Animated of Placeholder | Animated|
Contribute
Any help this module will be approciate!
