Socket
Socket
Sign inDemoInstall

@tjoskar/react-lazyload-img

Package Overview
Dependencies
6
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @tjoskar/react-lazyload-img

Lazy image loader for react


Version published
Weekly downloads
61
increased by8.93%
Maintainers
1
Install size
21.5 kB
Created
Weekly downloads
 

Readme

Source

react-lazyload-img Build Status codecov

Lazy image loader for react

Install

$ npm install @tjoskar/react-lazyload-img

Usage

import React, { Component } from 'react';
import { LazyLoadImage, LazyLoadBackgroundImage } from './lazy-load-image'

class App extends Component {
  defaultImage = 'https://www.placecage.com/1000/1000';
  image = 'https://images.unsplash.com/photo-1443890923422-7819ed4101c0?fm=jpg';

  render() {
    return (
      <React.Fragment>
        { /* To use img-tag */ }
        <LazyLoadImage width="50" height="200px" defaultImage={this.defaultImage} image={this.image} />

        { /* To use div-tag with background image styling */ }
        <LazyLoadBackgroundImage width="100%" height="200px" defaultImage={this.defaultImage} image={this.image} />
      </React.Fragment>
    );
  }
}

You can also pass options (root, rootMargin, threshold) to the IntersectionObserver constructor. See the documentation for IntersectionObserver for more info.

Props

Both LazyLoadImage and LazyLoadBackgroundImage have the same props:

  defaultImage: string // Path to the default image to show before the lazy loading
  image: string // Path to the image to be lazy loaded
  errorImage?: string // Path to an image to show if the loading of `image` fails, will use `defaultImage` if not set
  onLoaded?: () => void // Callback function after the image has been loaded
  options?: ObserverOptions
  style?: Object // Will be passed to the under lying div/img tag
  height: number | string // The height of the image
  width: number | string // The width of the image

Requirement

The browser you are targeting needs to have support for IntersectionObserver and WeakMap or import polyfill for them. You also need to use a bundler that understand es-mudules (eg. webpack, rollup, parcel, fusebox, etc.)

License

MIT

Keywords

FAQs

Last updated on 15 Apr 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc