UNPKG

ht_hooks

Version:
176 lines (175 loc) 5.3 kB
{ "functions": [ { "name": "useBoolean" }, { "name": "useClickAway", "description": "监听目标元素外的点击事件。" }, { "name": "useCookieState", "description": "一个将状态存储在 Cookie 中的 Hook 。" }, { "name": "useCreation" }, { "name": "useDebounce", "description": "用来处理防抖值的 Hook。" }, { "name": "useDebounceFn", "description": "用来处理防抖函数的 Hook。" }, { "name": "useDelete" }, { "name": "useDocumentVisibility", "description": "监听页面是否可见,参考 [visibilityState API](https://developer.mozilla.org/docs/Web/API/Document/visibilityState)" }, { "name": "useDrag" }, { "name": "useDrop", "description": "& useDrag" }, { "name": "useEventListener", "description": "优雅的使用 addEventListener。" }, { "name": "useEventTarget", "description": "常见表单控件(通过 e.target.value 获取表单值) 的 onChange 跟 value 逻辑封装,支持自定义值转换和重置功能。" }, { "name": "useFullscreen", "description": "管理 DOM 全屏的 Hook。" }, { "name": "useGetState", "description": "给 `React.useState` 增加了一个 getter 方法,以获取当前最新值。" }, { "name": "useHover", "description": "监听 DOM 元素是否有鼠标悬停。" }, { "name": "useInViewport", "description": "观察元素是否在可见区域,以及元素可见比例。更多信息参考 [Intersection Observer API](https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API)。" }, { "name": "useKeyPress", "description": "监听键盘按键,支持组合键,支持按键别名。" }, { "name": "useLatest", "description": "返回当前最新值的 Hook,可以避免闭包问题。" }, { "name": "useLocalStorageState", "description": "将状态存储在 localStorage 中的 Hook 。" }, { "name": "useLongPress", "description": "监听目标元素的长按事件。" }, { "name": "useMap", "description": "管理 Map 类型状态的 Hook。" }, { "name": "useMemoizedFn", "description": "持久化 function 的 Hook,理论上,可以使用 useMemoizedFn 完全代替 useCallback。" }, { "name": "useMount", "description": "只在组件初始化时执行的 Hook。" }, { "name": "useMouse", "description": "监听鼠标位置" }, { "name": "useMutationObserver", "description": "一个监听指定的 DOM 树发生变化的 Hook,参考 [MutationObserver](https://developer.mozilla.org/zh-CN/docs/Web/API/MutationObserver)" }, { "name": "usePrevious", "description": "保存上一次状态的 Hook。" }, { "name": "useRafState", "description": "只在 [requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) callback 时更新 state,一般用于性能优化。" }, { "name": "useRequest" }, { "name": "useResetState", "description": "提供重置 state 方法的 Hooks,用法与 `React.useState` 基本一致。" }, { "name": "useResponsive", "description": "获取响应式信息。" }, { "name": "useSafeState", "description": "用法与 `React.useState` 完全一样,但是在组件卸载后异步回调内的 `setState` 不再执行,避免因组件卸载后更新状态而导致的内存泄漏。" }, { "name": "useScroll", "description": "监听元素的滚动位置。" }, { "name": "useSessionStorageState", "description": "将状态存储在 sessionStorage 中的 Hook。" }, { "name": "useSet", "description": "管理 Set 类型状态的 Hook。" }, { "name": "useSetState", "description": "管理 object 类型 state 的 Hooks,用法与 class 组件的 `this.setState` 基本一致。" }, { "name": "useSize", "description": "监听 DOM 节点尺寸变化的 Hook。" }, { "name": "useThrottle", "description": "用来处理节流值的 Hook。" }, { "name": "useThrottleFn", "description": "用来处理函数节流的 Hook。" }, { "name": "useTitle", "description": "用于设置页面标题。" }, { "name": "useToggle", "description": "用于在两个状态值间切换的 Hook。" }, { "name": "useUnmount", "description": "在组件卸载(unmount)时执行的 Hook。" }, { "name": "useUnmountedRef", "description": "获取当前组件是否已经卸载的 Hook。" }, { "name": "useUpdate", "description": "useUpdate 会返回一个函数,调用该函数会强制组件重新渲染。" }, { "name": "useUpdateEffect", "description": "`useUpdateEffect` 用法等同于 `useEffect`,但是会忽略首次执行,只在依赖更新时执行。" } ] }