Skip to content

Commit 3afb16e

Browse files
committed
useStopwatch minor code enhancement
1 parent a2a66a4 commit 3afb16e

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/useStopwatch.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@ import { useState, useEffect, useRef } from 'react';
33
export default function useStopwatch(settings) {
44
const { autoStart } = settings || {};
55

6+
const [seconds, setSeconds] = useState(0);
7+
const [minutes, setMinutes] = useState(0);
8+
const [hours, setHours] = useState(0);
9+
const intervalRef = useRef();
10+
611
// Days
712
const [days, setDays] = useState(0);
813
function addDay() {
914
setDays((prevDays) => (prevDays + 1));
1015
}
1116

12-
// Hours
13-
const [hours, setHours] = useState(0);
1417
function addHour() {
1518
setHours((prevHours) => {
1619
if (prevHours === 23) {
@@ -21,8 +24,6 @@ export default function useStopwatch(settings) {
2124
});
2225
}
2326

24-
// Minutes
25-
const [minutes, setMinutes] = useState(0);
2627
function addMinute() {
2728
setMinutes((prevMinutes) => {
2829
if (prevMinutes === 59) {
@@ -33,8 +34,6 @@ export default function useStopwatch(settings) {
3334
});
3435
}
3536

36-
// Seconds
37-
const [seconds, setSeconds] = useState(0);
3837
function addSecond() {
3938
setSeconds((prevSeconds) => {
4039
if (prevSeconds === 59) {
@@ -45,9 +44,6 @@ export default function useStopwatch(settings) {
4544
});
4645
}
4746

48-
// Control functions
49-
const intervalRef = useRef();
50-
5147
function start() {
5248
if (!intervalRef.current) {
5349
intervalRef.current = setInterval(() => addSecond(), 1000);

0 commit comments

Comments
 (0)