UNPKG

@preact-signals/safe-react

Version:
23 lines (20 loc) 634 B
import { signal, computed, effect } from '@preact/signals-core'; import { useMemo, useRef, useEffect } from 'react'; const Empty = []; function useSignal(value) { return useMemo(() => signal(value), Empty); } function useComputed(compute) { const $compute = useRef(compute); $compute.current = compute; return useMemo(() => computed(() => $compute.current()), Empty); } function useSignalEffect(cb) { const callback = useRef(cb); callback.current = cb; useEffect(() => { return effect(() => callback.current()); }, Empty); } export { useComputed, useSignal, useSignalEffect }; //# sourceMappingURL=hooks.mjs.map