loading...

Background-Image-On-Load

alirezavalizade profile image alireza valizade Updated on ・1 min read

Background-Image-On-Load

A simple way to check background-image is loaded.

Installation

npm:

npm install background-image-on-load --save

yarn:

yarn add background-image-on-load

Usage

import React, { Component } from 'react';
import BackgroundImageOnLoad from 'background-image-on-load';

class App extends Component {

  state = {
    bgIsLoaded: false
  };

  render() {
    const { bgIsLoaded } = this.state;
    return (
        <div
          style={{ 
            height: 300,
            backgroundPosition: 'center',
            backgroundSize: 'cover',
            backgroundImage: `url(${!bgIsLoaded ? 'https://picsum.photos/310/310?blur' : 'https://picsum.photos/1600/310'})`
          }}
        >
          <BackgroundImageOnLoad
            src={'https://unsplash.it/1200/310?random'}
            onLoadBg={() =>
              this.setState({
              bgIsLoaded: true
            })}
            onError={err => console.log('error', err)}
          />
        </div>
    );
  }
}

export default App;

If you like this library please click on the start button on github.

https://github.com/alirezavalizade/background-image-on-load

Discussion

markdown guide
 

Hi, do you have valilla js version for this?

 

it's only 3 lines. the rest is customizable

const img = new Image(src);
img.onload = () => {
  .....
};
 

Not works for me.
backgroundImage does not work completely in my opinion.
I must use dataURL for it, thank you.