1.0.4 • Published 3 years ago

react-better-countdown-hook v1.0.4

Weekly downloads
14
License
ISC
Repository
github
Last release
3 years ago

Better React Countdown Hook

Super simple and lightweight countdown timer hook with most of the functionality you would need.

Built with typescript :)

The aim of the library is to remain as small as possible.

Installation

Using npm:

$ npm install --save react-better-countdown-hook

Using yarn:

$ yarn add react-better-countdown-hook

Quick Start/ Example

import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom";
import useCountDown from "react-better-countdown-hook";

const App: React.FunctionComponent = () => {
  const [
    { milliseconds, seconds, minutes, hours, days },
    { start, reset, pause },
  ] = useCountDown({
    // Start time in milliseconds
    startTimeMilliseconds: 6000,
    // Decrement to update the timer with
    interval: 500,
    // Callback triggered when the timer reaches 0
    onCountDownEnd: () => {
      console.log("ended");
    },
  });

  return (
    <>
      <div>
        <p>
          Milliseconds: {milliseconds} Second: {seconds} Minute: {minutes}
          Hours: {hours} Days: {days}
          <button onClick={start}>start</button>
          <button onClick={reset}>reset </button>
          <button onClick={pause}>pause</button>
        </p>
      </div>
    </>
  );
};

const MOUNT_NODE = document.getElementById("react-root");
ReactDOM.render(<App />, MOUNT_NODE);

Documentation

const [
  /** Time in milliseconds, seconds, minutes, hours, days */
  { milliseconds, seconds, minutes, hours, days },
  { start, reset, pause },
] = useCountDown({
  // Start time in milliseconds
  startTimeMilliseconds: 6000,
  // Decrement to update the timer with
  interval: 500,
  // Callback triggered when the timer reaches 0
  onCountDownEnd: () => {
    console.log("ended");
  },
});

Configuration

PropertyTypeIs OptionalDescription
millisecondsnumbertrueCurrent timer value in milliseconds
secondsnumbertrueCurrent timer value in seconds
minutesnumbertrueCurrent timer value in minutes
hoursnumbertrueCurrent timer value in hours
daysnumbertrueCurrent timer value in days
startfunctiontrueFunction to start the timer
pausefunctiontrueFunction to pause/stop the timer
resetfunctiontrueFunction to pause and then reset the timer
startTimeMillisecondsnumberfalseStart time of the timer in milliseconds
intervalnumberfalseValue to decrement
onCountDownEndfunctiontrueCallback to trigger when the timer reaches 0

License

MIT