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