UNPKG

@playcanvas/blocks

Version:

High level abstract 3D primitives for React

22 lines 679 B
import { useCallback, useRef } from 'react'; /** * A hook for subscribing to a value. * @example * const { subscribe, notify } = useSubscribe<number>(); * subscribe((value) => console.log(value)); * notify(1); * * @returns `subscribe` and `notify` functions. */ export function useSubscribe() { const subscribers = useRef(new Set()); const subscribe = useCallback((fn) => { subscribers.current.add(fn); return () => subscribers.current.delete(fn); }, []); const notify = useCallback((value) => { subscribers.current.forEach((fn) => fn(value)); }, []); return [subscribe, notify]; } //# sourceMappingURL=use-subscribe.js.map