Use for centralize request animation frame
npm install raf-handlerSimple small script to centralize request animation frame.
``sh`
npm i raf-handler
`js
import rAF, { subscribeUpdate, unsubscribeUpdate } from "raf-handler";
rAF({ fps: 60 } / default and optional /); // start animationFrameRequest
export default () => {
const update = (timestamp) => console.log(timestamp);
subscribeUpdate(update); // to add your function in a rAF array
unsubscribeUpdate(update); // to remove your function from a rAF array
};
`
`js
import rAF from "raf-handler";
export default () => {
const update = (timestamp) => console.log(timestamp);
const ticker = rAF();
ticker.add(update); // to add your function in a rAF array
ticker.remove(update); // to remove your function from a rAF array
};
`
`js
import { useMemo, useCallback, useEffect } from "react";
import rAF, { subscribeUpdate, unsubscribeUpdate } from "raf-handler";
export default () => {
useMemo(rAF, []); // autoinit only one time
const update = useCallback((timestamp) => {
console.log(timestamp);
}, []);
useEffect(() => {
subscribeUpdate(update); // add your function
return () => {
unsubscribeUpdate(update); // remove when unmount
};
}, []);
};
`
_Use with an external rAF_
`js
import { subscribeUpdate, update as updateRAF } from "raf-handler";
export default () => {
const update = (timestamp) => console.log(timestamp);
const initUpdate = (timestamp) => {
updateRAF(timestamp);
id.current = window.requestAnimationFrame(initUpdate);
};
subscribeUpdate(update);
initUpdate();
};
`
_Reset all rAF function_
`js
import { resetUpdate } from "raf-handler";
resetUpdate();
`
`sh``
npm run build
MIT © William Manco