目录
- Async
- useRequest:管理数据异步请求
- Ant Design
- useFormTable:封装了AntD Form 与 AntD Table 的联动逻辑
- UI
- useDrag & useDrop:一对处理拖拽时数据转移的hook
- useSelections:联动 checkbox 逻辑封装
- useDynamicList:管理列表状态
- useVirtualList:虚拟化列表,解决大数据量时的渲染缓慢、滚动卡顿问题
- SideEffect
- useDebounce:防抖
- useThrottle:节流
- useDebounceFn:函数防抖
- useThrottleFn:函数节流
- LifeCycle
- useMount:组件 mount 时执行
- useUnmount:组件 unmount 时执行
- useUpdate:强制组件重新渲染
- useUpdateEffect:只在依赖更新时执行的 useEffect
- useUpdateLayoutEffect:只在依赖更新时执行的 useLayoutEffect
- State
- useMap:管理 Map 类型状态
- useSet:管理 Set 类型状态
- useToggle:管理两个状态值切换的状态
- useBoolean:管理 Boolean 类型状态
- useCounter:管理 count 的 hook
- usePrevious:保存上一次状态
- useHistoryTravel:保存历史状态
- useControllableValue:即可被自己管理,也可被外部控制的state
- useLocalStorageState:使用 LocalStorage 管理 state
- useSessionStorageState:使用 SessionStorage 管理 state
- Dom
- useSize:监听 dom 节点尺寸变化
- useHover:追踪 dom 元素是否有鼠标悬停
- useMouse:跟踪鼠标位置
- useScroll:获取元素滚动状态
- useKeyPress:管理 keyup 和 keydown 的键盘事件,支持组合键
- useClickAway:管理目标元素外的点击事件
- useFullscreen:处理 dom 全屏
- useResponsive:获取响应式信息
- useInViewport:判断 dom 元素是否在可视范围之内
- useEventTarget:常见表单控件的 onChange 跟 value 逻辑封装
- useEventListener:EventListener
- useTextSelection:获取选取文本内容及位置
- useDocumentVisibility:页面可见状态
- Advanced
- useCreation:创建常量,且不会重复执行
- usePersistFn:持久化 Function
- useEventEmitter:组件间通信,类似发布订阅