A powerful, customisable,
<img>
component that simulates a shimmer effect while loading. (with zero dependencies!) Currently compatible with React, but RN compatibility is also on the way.
Live Demo
Install
npm i react-shimmer
or
yarn add react-shimmer
Usage
import React from 'react' import Image from 'react-shimmer' function App(props) { return ( <div> <Image src="https://example.com/test.jpg" width={640} height={480} style={{ objectFit: 'cover' }} /> </div> ) }
or you can use the fallback
prop:
import React from 'react' import Image from 'react-shimmer' import Spinner from './Spinner' function App(props) { return ( <div> <Image src="https://example.com/test.jpg" fallback={<Spinner />} /> </div> ) }
Properties
Property | Type | Required | Default value | Description |
---|---|---|---|---|
src | string | yes | ||
color | string | no | #f6f7f8 | Background color of the loader. |
duration | number | no | 1600 | Animation duration (ms) Higher value == slower animation. |
width | number | yes (no if fallback is present) | ||
height | number | yes (no if fallback is present) | ||
style | object | no | ||
onError | func | no | ||
onLoad | func | no | ||
fallback | React.Element | no | ||
delay | number | no | Delay the starting time of the animation. (ms) |
Contributing
Feel free to send PRs.
License
MIT © gokcan