Skip to content

Butter smooth loading non-jumping images for react that just work

License

Notifications You must be signed in to change notification settings

arjunkathuria/react-smooth-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Smooth Image

Are you tired of your react app's layout flashing around because an image is yet to load and its taking zero space until then?

Does the progressive image loading from top bottom makes you cringe ?

You wish there was something neat out there that just works ?

Yea, mee too.

  "Fear not, for i am here"
  
  - All Might.

Demo

First one is a normal image, the second one is using react-smooth-image.

Install

$ npm install --save react-smooth-image

if you prefer to use yarn then

$ yarn add react-smooth-image

Usage

import SmoothImage from 'react-smooth-image';
.
.
.

render() {
return (
  <div className="image-container">
     <SmoothImage
         src="https://..."
         alt="a nice image of mordor"
         transitionTime={1.0}
         //Other props if you choose to use them
      />
  </div>
  )
}

Props

src

type: string
is mandatory: yes
Description: The source url of the image to be loaded.

alt

type: string
is mandatory: yes
Description: The `alt` text to be passed to the image. Facilitates accessibility and screen readers and including this is always a good idea.

placeholderImgUrl

type: string
is mandatory: no
default value: ''
Description: if you wanna use a placeholder image, you may pass the url here or pass an embedded image data.

containerStyles

type: object
is mandatory: no
Description: If you want to overwrite the container styles, pass a js style object to it like you would pass in a style attribute in a regular react element.

imageStyles

type: object
is mandatory: no
Description: If you want to overwrite the image styles, pass a style object in this prop.

transitionTimingFunction

type: string
is mandatory: no
default value: "ease-in"
Description: The css transition-timing function to use when the image is loaded.

transitionTime

type: number
is mandatory: no
default value: 0.3s
Description: The time for the image to apply the given transition in seconds. For eg 0.3