Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 1x 1x 1x | import { useSyncExternalStore } from 'react'
import type { Watcher } from 'watch-state'
import { Watch } from 'watch-state'
/** @deprecated Use `useSelector` */
export function useWatcher<S> (state: Watcher<S>): S {
return useSyncExternalStore(callback => {
const watcher = new Watch(update => {
if (update) callback()
return state(update)
}, true)
return () => {
watcher.destroy()
}
}, () => state(false))
}
|