react-block-image (demo)
React replacement for
img
that uses adiv
withbackground-image
for more control + fallback support.
- background-image for easier control over sizing
- Fallback image support
- Loading customization
- Zero dependencies
- Used in production at Automagical
npm install --save react-block-image
# of
yarn add react-block-image
Check out the demo in the example folder.
Minimal:
import React, { Component } from 'react'
import BlockImage from 'react-block-image'
class Example extends Component {
render () {
return (
<BlockImage src='https://example.com/example.jpg' />
)
}
}
With fallback image and loading animation:
import React, { Component } from 'react'
import BlockImage from 'react-block-image'
import placeholder from './placeholder.jpg'
class Example extends Component {
render () {
return (
<BlockImage
src='https://example.com/example.jpg'
fallback={placeholder}
showPreview={true}
loader={
<MyLoadingAnimation />
}
/>
)
}
}
Property | Type | Default | Description |
---|---|---|---|
src |
string | undefined | Required URL of the preferred image source. |
fallback |
string | undefined | Optional URL of a fallback image. |
children |
node | undefined | Optional children. |
showPreview |
boolean | false | Whether or not to show fallback while preferred src is loading. |
loader |
node | undefined | Optional node to show while src is loading. |
backgroundSize |
string | cover | Convenience prop for setting background-size on style . |
backgroundPosition |
string | center center | Convenience prop for setting background-position on style . |
backgroundRepeat |
string | no-repeat | Convenience prop for setting background-repeat on style . |
style |
object | undefined | Optional style overrides for root element. |
className |
string | undefined | Optional className override for root element. |
... |
... | undefined | All other props are applied to the root element. |
MIT © transitive-bullshit
This module was bootstrapped with create-react-library.
Support my OSS work by following me on twitter