import React, { useState, useEffect } from 'react' import { Duration } from 'luxon'; interface Props { startTime: any, className: string } function Counter({ startTime, className }: Props) { let intervalId; const [duration, setDuration] = useState(new Date().getTime() - startTime) useEffect(() => { if (!intervalId) { intervalId = setInterval(() => { setDuration(duration + 1000) }, 1000) } return () => clearInterval(intervalId) }, [duration]) return (
{startTime && Duration.fromMillis(duration).toFormat('m:ss')}
) } export default Counter