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