stremio-web/src/common/useAnimationFrame.js
2020-04-08 11:45:16 +03:00

21 lines
607 B
JavaScript

// Copyright (C) 2017-2020 Smart code 203358507
const React = require('react');
const useAnimationFrame = () => {
const animationFrameId = React.useRef(null);
const cancel = React.useCallback(() => {
cancelAnimationFrame(animationFrameId.current);
animationFrameId.current = null;
}, []);
const request = React.useCallback((cb) => {
cancel();
animationFrameId.current = requestAnimationFrame(() => {
cb();
animationFrameId.current = null;
});
}, []);
return [request, cancel];
};
module.exports = useAnimationFrame;