Skip to main content
Version: v3.6.0

@rooks/use-countdown

Count down to a target timestamp and call callbacks every second (or provided peried)

Build Status

Installation

npm install --save @rooks/use-countdown

Importing the hook

import useCountdown from "@rooks/use-countdown"

Usage

const endTime = new Date(Date.now() + 10000);

function Demo() {
const count = useCountdown(endTime, {
interval: 1000,
onDown: time => console.log('onDown', time),
onEnd: time => console.log('onEnd', time),
});
return count;
}

render(<Demo/>)

Arguments

ArgumentTypeDescriptionDefault value
endTimeDatethe time when the countdown should endundefined
options.intervalnumbermilliseconds that it takes count down once1000
options.onDownfunction(time) => {}, callback that would be called every intervalundefined
options.onEndfunction(time) => {}, callback that would be called when the countdown endsundefined

Return Value

TypeDescription
numberrest amount of intervals it takes to count down to the endTime