hooks-react-using
v1.1.6
Published
react-hooks
Downloads
2
Readme
Features
- 封装了常用React Hooks的库
- 更轻松地管理组件中的状态和逻辑
- 支持 TypeScript
Install
by using npm
:
npm install hooks-react-using --save
by using yarn
:
yarn add hooks-react-using
by using pnpm
:
pnpm install hooks-react-using --save
Basic usage
import { useToggle, useCountDown, useClickOutside } from 'hooks-react-using';
API Hooks
Lifecycles
useMount
— useMount 只在组件初始化时执行。useUnmount
— useUnmount 在组件卸载时执行的。
State
useSetState
— useSetState 管理 object 类型 stateuseDebounce
— useDebounce 控制值在多次更新的防抖。useThrottle
— useThrottle 控制值在多次更新的节流。useLocalStorageState
— useLocalStorageState 将状态持久化到 localStorage 本地存储中useSessionStorageState
— useSessionStorageState 将状态持久化到 sessionStorage 本地存储中usePrevious
— usePrevious 用来获取组件上一次渲染时某个状态或属性的值useBoolean
— useBoolean 管理一个布尔类型的状态值useArray
— useArray 管理一个Array类型的状态useToggle
— useToggle 可用于管理布尔值状态,还可以用于管理任何类型的状态的真假值useCountDown
— useCountDown 可用于实现倒计时useRafCountDown
— useRafCountDown 可用于实现倒计时,基于 requestAnimationFrame 实现useLatest
— 获取一个值的最新引用useStableState
— useStableState 与 useState 类似,在 state 是最新值并且 setState 和最新值相等时会阻止 setStateuseForceUpdate
— useForceUpdate 强制组件重新渲染useMap
— useMap 管理 new Map() 创建的映射对象的状态useWeakMap
— useMap 管理 new WeakMap() 创建的映射对象的状态,弱引用版本的 MapuseSet
— useSet 管理 new Set() 集合类型的数据结构useWeakSet
— useWeakSet 管理 new WeakSet() 集合类型的数据结构,弱引用版本的 SetuseQueue
— useQueue 简单的队列,用于管理队列数据结构useTaskQueue
— useTaskQueue 任务队列,用于管理队列数据结构,主要处理异步任务的队列
Effect
useWatchEffect
— useWatchEffect 与 useEffect 类似,可以观察哪个依赖变化触发了 useEffect 的执行,观察依赖变更的新值和旧值,并且可以取消观察。useWatchLayoutEffect
— useWatchLayoutEffect 与 useLayoutEffect 类似,可以观察哪个依赖变化触发了 useEffect 的执行,观察依赖变更的新值和旧值,并且可以取消观察。useDeepWatchEffect
— useDeepWatchEffect 与 useEffect 类似,可以深度观察哪个依赖变化触发了 useEffect 的执行,观察依赖变更的新值和旧值,并且可以取消观察。useDeepWatchLayoutEffect
— useDeepWatchLayoutEffect 与 useLayoutEffect 类似,可以深度观察哪个依赖变化触发了 useEffect 的执行,观察依赖变更的新值和旧值,并且可以取消观察。useUpdateEffect
— useUpdateEffect 与 useEffect 类似,但只在依赖项更新时运行,不包括初次渲染useUpdateLayoutEffect
— useUpdateLayoutEffect 与 useLayoutEffect 类似,但只在依赖项更新时运行,不包括初次渲染useAsyncEffect
— useAsyncEffect 与 useEffect 类似,可以使用异步函数useDeepCompareEffect
— useDeepCompareEffect 与 useEffect 类似,用于在函数组件中实现具有深比较useDeepCompareLayoutEffect
— useDeepCompareLayoutEffect 与 useLayoutEffect 类似,用于在函数组件中实现具有深比较useOnceEffect
— useOnceEffect 与 useEffect 类似,但只在依赖项更新时执行一次,后续依赖变更不再执行useOnceUpdateEffect
— useOnceUpdateEffect 与 useEffect 类似,但是不包括初次渲染,并且只在依赖项更新时执行一次,后续依赖变更不再执行useOnceLayoutEffect
— useOnceLayoutEffect 与 useLayoutEffect 类似,但只在依赖项更新时执行一次,后续依赖变更不再执行useOnceUpdateLayoutEffect
— useOnceUpdateLayoutEffect 与 useLayoutEffect 类似,但是不包括初次渲染,并且只在依赖项更新时执行一次,后续依赖变更不再执行useDebounceFn
— useDebounceFn 控制函数在多次触发的防抖。useDebounceEffect
— useDebounceEffect 可以有效地控制 useEffect 防抖。useThrottleFn
— useThrottleFn 限制函数的执行频率,节流。useThrottleEffect
— useThrottleEffect 可以有效地控制 useEffect 节流。useTimeoutFn
— useTimeoutFn 在指定的时间后执行一个函数useRafTimeoutFn
— useRafTimeoutFn 在指定的时间后执行一个函数,基于 requestAnimationFrame 实现useIntervalFn
— useIntervalFn 定时器执行一个函数useRafIntervalFn
— useRafIntervalFn 定时器执行一个函数,基于 requestAnimationFrame 实现
Elements
useClickOutside
— useClickOutside 监听点击目标元素外部时执行某个回调函数,点击事件也可以自定义,可以是其它的鼠标事件useElementSize
— useElementSize 可以用于获取DOM元素的尺寸信息useScroll
— useScroll 用于获取页面滚动位置的信息useHover
— useHover 鼠标是否正在悬停目标元素上useTitle
— useTitle 用来动态修改网页的标题useDocumentVisibility
— useDocumentVisibility 检测当前页面是否处于活动状态(即当前窗口的可见性)useEventListener
— useEventListener 用于封装原生的 addEventListener 方法,使得在函数式组件中添加事件监听器更加方便useLongPress
— useLongPress 用于在长按某个元素时触发回调函数useFocusWithin
— useFocusWithin 监听元素的焦点变化useScrollLock
— useScrollLock 可以用来禁止页面滚动