react-native-shimmer-kit
v0.3.1
Published
A JavaScript library used for creating shimmer effect in React Native.
Downloads
721
Maintainers
Readme
React Native Shimmer Kit
A JavaScript library used for creating shimmer effect in React Native.
Get Started
Install library
Using Yarn
yarn add react-native-shimmer-kit
Or using NPM
npm install react-native-shimmer-kit --save
Install dependencies
For React Native CLI
:
Using Yarn
yarn add react-native-linear-gradient
Or using NPM
npm install react-native-linear-gradient --save
Note: checkout react-native-linear-gradient for more information.
For Expo Go
:
expo install expo-linear-gradient
Note: checkout expo-linear-gradient for more information.
Configure for iOS
Run cd ios && pod install
Configure for Android
No additional set up necessary.
Usage
React Native CLI:
import Shimmer from 'react-native-shimmer-kit';
const YourShimmer = () => (
<Shimmer
width={120}
height={120}
borderRadius={60}
duration={3000}
colors={['#93C5FD', '#BFDBFE', '#BFDBFE', '#93C5FD']}
/>
);
Expo Go:
import {LinearGradient as ExpoLinearGradient} from 'expo-linear-gradient';
import Shimmer from 'react-native-shimmer-kit';
const YourShimmer = () => (
<Shimmer
width={120}
height={120}
borderRadius={60}
duration={3000}
colors={['#93C5FD', '#BFDBFE', '#BFDBFE', '#93C5FD']}
LinearGradientComponent={ExpoLinearGradient} // <~ required this for expo project
/>
);
Props
| Prop | Description | Required | Type | Default |
| ---------------------------- | -------------------------------------------------------| :----------------------------------------------:| :------------------------------------------:|------
| width
| width of shimmer | :white_check_mark: | number | undefined
| height
| height of shimmer | :white_check_mark: | number | undefined
| borderRadius
| the radius of the shimmer's corners | :white_large_square: | number | 0
| marginVertical
| the top-bottom margin of shimmer | :white_large_square: | number | 0
| marginHorizontal
| the left-right margin of shimmer | :white_large_square: | number | 0
| marginTop
| the right margin of shimmer | :white_large_square: | number | 0
| marginBottom
| the bottom margin of shimmer | :white_large_square: | number | 0
| marginLeft
| the left margin of shimmer | :white_large_square: | number | 0
| marginRight
| the right margin of shimmer | :white_large_square: | number | 0
| colors
| array of colors for gradient background | :white_large_square: | string[] | ['#E6E6E6', '#f5f5f5', '#f5f5f5', '#E6E6E6']
| duration
| duration of shimmer over a row | :white_large_square: | number | 1500
| islooped
| loop the animation | :white_large_square: | boolean | true
| isReversed
| reverse direction of the animation | :white_large_square: | boolean | false
| customStyle
| custom style for shimmer | :white_large_square: | ViewStyle | undefined
| LinearGradientComponent
| LinearGradient components ('react-native-linear-gradient' or 'expo-linear-gradient') | :white_large_square: | React component | react-native-linear-gradient