mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-31 03:28:49 +00:00
20 lines
615 B
JavaScript
20 lines
615 B
JavaScript
const React = require('react');
|
|
|
|
const useAnimationFrame = () => {
|
|
const animationFrameId = React.useRef(null);
|
|
const request = React.useCallback((cb) => {
|
|
if (animationFrameId.current === null) {
|
|
animationFrameId.current = requestAnimationFrame(() => {
|
|
cb();
|
|
animationFrameId.current = null;
|
|
});
|
|
}
|
|
}, []);
|
|
const cancel = React.useCallback(() => {
|
|
cancelAnimationFrame(animationFrameId.current);
|
|
animationFrameId.current = null;
|
|
}, []);
|
|
return [request, cancel];
|
|
};
|
|
|
|
module.exports = useAnimationFrame;
|