react-native-rolling-bar
Version:
Rolling bar (banner) UI for React Native
17 lines (16 loc) • 498 B
JavaScript
// by Dan Abramov
// https://overreacted.io/making-setinterval-declarative-with-react-hooks/
import { useRef, useEffect } from 'react';
export default function useInterval(callback, delay) {
const savedCallback = useRef();
useEffect(() => {
savedCallback.current = callback;
});
useEffect(() => {
function tick() {
savedCallback.current?.();
}
let id = setInterval(tick, delay);
return () => clearInterval(id);
}, [delay]);
}