Home

Awesome

react-top-loading-bar

NPM JavaScript Style Guide npm download

react-top-loading-bar

Install

npm install --save react-top-loading-bar
yarn add react-top-loading-bar
https://unpkg.com/react-top-loading-bar

Usage

With ref

import React, { useRef } from 'react'
import LoadingBar from 'react-top-loading-bar'

const App = () => {
  const ref = useRef(null)

  return (
    <div>
      <LoadingBar color='#f11946' ref={ref} />
      <button onClick={() => ref.current.continuousStart()}>
        Start Continuous Loading Bar
      </button>
      <button onClick={() => ref.current.staticStart()}>
        Start Static Loading Bar
      </button>
      <button onClick={() => ref.current.complete()}>Complete</button>
      <br />
    </div>
  )
}

export default App

With state

import React, { useState } from 'react'
import LoadingBar from 'react-top-loading-bar'

const App = () => {
  const [progress, setProgress] = useState(0)

  return (
    <div>
      <LoadingBar
        color='#f11946'
        progress={progress}
        onLoaderFinished={() => setProgress(0)}
      />
      <button onClick={() => setProgress(progress + 10)}>Add 10%</button>
      <button onClick={() => setProgress(progress + 20)}>Add 20%</button>
      <button onClick={() => setProgress(100)}>Complete</button>
      <br />
    </div>
  )
}

export default App

Demo

Click here for demo

Built-in Methods

MethodsParametersDescriptions
add(value)NumberAdds a value to the loading indicator.
decrease(value)NumberDecreases a value to the loading indicator.
continuousStart(startingValue, refreshRate)Number (optional), Number(optional)Starts the loading indicator with a random starting value between 20-30, then repetitively after an refreshRate, increases it by a random value between 2-10. This continues until it reaches 90% of the indicator's width.
staticStart(startingValue)Number (optional)Starts the loading indicator with a random starting value between 30-50.
complete()Makes the loading indicator reach 100% of his width and then fade.
getProgress()Get the current progress value.

Properties

PropertyTypeDefaultDescription
progressNumber0The progress/width indicator, progress prop varies from 0 to 100.
colorStringredThe color of the loading bar, color take values like css property background: do, for example red, #000 rgb(255,0,0) etc.
shadowBooleantrueEnables / Disables shadow underneath the loader.
heightNumber2The height of the loading bar in pixels.
backgroundStringtransparentThe loader parent background color.
styleCSSPropertiesThe style attribute to loader's div
containerStyleCSSPropertiesThe style attribute to loader's container
shadowStyleCSSPropertiesThe style attribute to loader's shadow
transitionTimeNumber300Fade transition time in miliseconds.
loaderSpeedNumber500Loader transition speed in miliseconds.
waitingTimeNumber1000The delay we wait when bar reaches 100% before we proceed fading the loader out.
classNameStringYou can provide a class you'd like to add to the loading bar to add some styles to it
containerClassNameStringYou can provide a class you'd like to add to the loading bar container to add some css styles
onLoaderFinishedFunctionThis is called when the loading bar completes, reaches 100% of his width.

Projects using react-top-loading-bar

Add your own project. Make a PR

Migrate from V.1

Code Style

js-standard-style

License

MIT © Klendi Gocci | klendi.dev