Use React's hooks inside a resource, plus tap's additions.
Inside a resource you use React's hooks, imported from "react": useState,
useReducer, useEffect, useMemo, useCallback, useRef, useEffectEvent,
and use. They behave as they do in a component and follow the same rules of
hooks, with a few differences.
Composition hooks
Resources can host other resources. These hooks (from @assistant-ui/tap) manage
child lifecycles automatically:
useResourcehosts a single childuseResourceshosts a keyed listuseTapRootexposes a child as a{ getValue, subscribe }boundary