UNPKG

animare

Version:

Advanced animation library for modern JavaScript.

14 lines 875 B
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useLoop=useLoop;var _hooks=require("preact/hooks");var _animare=_interopRequireDefault(require("animare"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e};}/** * A game loop that executes a callback function on each animation frame. * * @param onUpdateCallback - The callback function to be executed on each animation frame. It receives the delta time since the last frame as a parameter. * * @example * import { useLoop } from 'animare/react'; * * useLoop(delta => { * // do something * }, []); * */function useLoop(onUpdateCallback){let deps=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];(0,_hooks.useEffect)(()=>{const stop=_animare.default.loop(onUpdateCallback);return stop;// eslint-disable-next-line react-hooks/exhaustive-deps },deps);}