Can somebody spot the bug, UI is not rendering, I tried by passing formatTime
as a dependency to the useEffect
but it is behaving very annoyingly.
Observation: It's inconsistent sometimes it works on page reload but sometimes it don't rerender the view
import React, { useState, useEffect, useCallback } from "react";
import "./styles.css";
export default function App() {
let date = new Date();
const formatTime = useCallback(() => {
return (
date.getHours().toString() +
":" +
date.getMinutes().toString() +
":" +
date.getSeconds().toString() +
":" +
date.getMilliseconds().toString()
);
}, [date]);
const [timer, setTimer] = useState(formatTime());
useEffect(() => {
let interval = setInterval(() => {
setTimer(formatTime());
});
return () => {
clearInterval(interval);
};
});
return (
<div className="App">
<h3> Timer: {timer.toString()} </h3>
</div>
);
}