@tldraw/state-react
Version:
tldraw infinite canvas SDK (react bindings for state).
24 lines (23 loc) • 574 B
JavaScript
import { EffectScheduler } from "@tldraw/state";
import { throttleToNextFrame } from "@tldraw/utils";
import { useEffect } from "react";
function useReactor(name, reactFn, deps = []) {
useEffect(() => {
let cancelFn;
const scheduler = new EffectScheduler(name, reactFn, {
scheduleEffect: (cb) => {
cancelFn = throttleToNextFrame(cb);
}
});
scheduler.attach();
scheduler.execute();
return () => {
scheduler.detach();
cancelFn?.();
};
}, deps);
}
export {
useReactor
};
//# sourceMappingURL=useReactor.mjs.map