animare
Version:
Advanced animation library for modern JavaScript.
14 lines • 868 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.useLoop=useLoop;var _react=require("react");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,_react.useEffect)(()=>{const stop=_animare.default.loop(onUpdateCallback);return stop;// eslint-disable-next-line react-hooks/exhaustive-deps
},deps);}