diff --git a/src/common/useAnimationFrame.js b/src/common/useAnimationFrame.js index d1b5999fa..e37494cac 100644 --- a/src/common/useAnimationFrame.js +++ b/src/common/useAnimationFrame.js @@ -2,18 +2,17 @@ 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; }, []); + const request = React.useCallback((cb) => { + cancel(); + animationFrameId.current = requestAnimationFrame(() => { + cb(); + animationFrameId.current = null; + }); + }, []); return [request, cancel]; };