# hooks.txt

# react
useState               组件状态
useEffect              副作用
useContext             上下文读取
useReducer             复杂状态管理
useCallback            缓存函数引用
useMemo                缓存计算值
useRef                 可变引用 / DOM 引用
useImperativeHandle    自定义 ref 暴露值
useLayoutEffect        同步副作用
useInsertionEffect     CSS-in-JS 注入
useId                  唯一 ID 生成
useDebugValue          DevTools 标签
useDeferredValue       延迟更新
useTransition          过渡状态
useSyncExternalStore   外部 store 订阅
useOptimistic          乐观更新
useActionState         Action 状态
use                    读取 Promise / Context

# react-dom
useFormStatus          表单提交状态

# react-router-dom
useNavigate            编程式导航
useParams              路由参数
useSearchParams        URL query 读写
useLoaderData          loader 数据
useActionData          action 返回值
useMatches             当前匹配路由链
useFetcher             非导航数据交互
useFetchers            所有活跃 Fetcher
useLocation            当前 location
useNavigation          导航状态
useNavigationType      导航类型
useSubmit              表单提交
useRouteError          路由错误
useOutlet              渲染子路由
useOutletContext       Outlet 上下文
useBlocker             导航拦截
useBeforeUnload        页面卸载拦截
useLinkClickHandler    自定义链接点击
useHref                解析完整 href
useInRouterContext     是否在 Router 上下文
useResolvedPath        解析相对路径
useRevalidator         重新验证 loader
useRouteLoaderData     指定路由 loader 数据
useViewTransitionState View Transition 状态
useFormAction          表单 action URL

# @tanstack/react-query
useQuery                       数据获取
useMutation                    数据修改
useInfiniteQuery               无限滚动分页
useQueries                     并行多个 Query
useSuspenseQuery               Suspense 模式 Query
useSuspenseInfiniteQuery       Suspense 模式 InfiniteQuery
useSuspenseQueries             Suspense 模式并行 Queries
useQueryClient                 获取 QueryClient 实例
useIsFetching                  是否有 Query 正在 fetch
useIsMutating                  是否有 Mutation 正在执行
useQueryErrorResetBoundary     重置 ErrorBoundary

# @tanstack/react-form
useForm                表单实例

# @tanstack/react-table
useReactTable          表格实例

# react-hook-form
useForm                表单注册、校验、提交
useController          连接自定义受控组件
useWatch               监听字段值变化
useFormContext         获取 FormProvider 上下文
useFormState           表单整体状态
useFieldArray          动态数组字段

# ahooks - State
useBoolean             布尔值状态
useToggle              两值切换
useSetState            对象状态合并
useMap                 Map 类型状态
useSet                 Set 类型状态
usePrevious            获取上一次值
useRafState            rAF 节流状态
useSafeState           防卸载后 setState
useGetState            同步获取最新 state
useResetState          可重置 state
useHistoryTravel       状态历史撤销/重做
useCounter             计数器
useSelections          多选管理
useDynamicList         动态列表增删

# ahooks - Effect
useAsyncEffect         异步 Effect
useDebounceEffect      防抖 Effect
useThrottleEffect      节流 Effect
useDebounceFn          防抖函数
useThrottleFn          节流函数
useDeepCompareEffect   深比较 Effect
useUpdateEffect        跳过首次渲染 Effect
useUpdateLayoutEffect  跳过首次 LayoutEffect
useInterval            setInterval
useTimeout             setTimeout
useRafInterval         rAF setInterval
useRafTimeout          rAF setTimeout
useLockFn              防并发异步函数

# ahooks - DOM
useTitle               document.title
useFavicon             favicon
useEventListener       事件监听
useClickAway           点击外部区域
useDocumentVisibility  页面可见性
useDrop / useDrag      拖拽
useEventTarget         事件目标值
useExternal            动态加载外部资源
useFocusWithin         焦点在区域内
useFullscreen          全屏
useHover               鼠标悬停
useInViewport          元素在视口内
useInfiniteScroll      无限滚动
useKeyPress            键盘按键
useLongPress           长按
useMouse               鼠标位置
useMutationObserver    DOM 变动监听
useResponsive          响应式断点
useScroll              滚动位置
useSize                元素尺寸
useTextSelection       文本选中
useVirtualList         虚拟滚动

# ahooks - Lifecycle
useMount               组件挂载
useUnmount             组件卸载
useUnmountedRef        获取卸载状态 ref

# ahooks - Advanced
useMemoizedFn          持久化函数引用（引用不变）
useLatest              获取最新值 ref
useRendersCount        渲染次数
useWhyDidYouUpdate     排查不必要 re-render
useEventEmitter        组件间事件通信
useCreation            useMemo / useRef 替代

# ahooks - Async
useRequest             异步请求管理（loading / error / pagination / cache）
usePagination          分页请求

# ahooks - Browser
useCookieState         Cookie 状态
useLocalStorageState   localStorage 状态
useSessionStorageState sessionStorage 状态

# next-themes
useTheme               读取 / 切换主题

# embla-carousel-react
useEmblaCarousel       轮播初始化

# react-resizable-panels
usePanelRef            Panel 命令式控制
usePanelCallbackRef    Panel 回调 ref
useGroupRef            Group 命令式控制
useGroupCallbackRef    Group 回调 ref
useDefaultLayout       持久化布局

# sonner
useSonner              获取活跃 toast 列表

# cmdk
useCommandState        订阅 Command 状态

# react-day-picker
useDayPicker           日历配置
useDayRender           日期渲染

# @base-ui/react
useButton              按钮状态
useCheckbox            复选框状态
useDialog              对话框状态
useField               表单字段状态
useFieldset            字段组状态
useForm                表单状态
useInput               输入框状态
useMenu                菜单状态
useNumberField         数字输入状态
usePopover             弹出层状态
usePreviewCard         预览卡片状态
useProgress            进度条状态
useRadioGroup          单选组状态
useScrollArea          滚动区域状态
useSelect              选择器状态
useSeparator           分隔符状态
useSlider              滑块状态
useSwitch              开关状态
useTabs                标签页状态
useToggle              切换状态
useTooltip             提示框状态

# radix-ui
useAccordionContext    手风琴上下文
useCheckbox            复选框状态
useCollapsibleContext  折叠面板上下文
useDialogContext       对话框上下文
useDropdownMenuContext 下拉菜单上下文
usePopoverContext      弹出层上下文
useRadioGroup          单选组状态
useSelectContext       选择器上下文
useSlider              滑块状态
useSwitch              开关状态
useTabsContext         标签页上下文
useToggle              切换状态
useTooltipContext      提示框上下文
useScrollArea          滚动区域状态
（每个 primitive 均有对应 state hook，共 30+）
