1.1.6 • Published 2 years ago

hooks-react-using v1.1.6

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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 类型 state
  • useDebounce 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 和最新值相等时会阻止 setState
  • useForceUpdate useForceUpdate 强制组件重新渲染
  • useMap useMap 管理 new Map() 创建的映射对象的状态
  • useWeakMap useMap 管理 new WeakMap() 创建的映射对象的状态,弱引用版本的 Map
  • useSet useSet 管理 new Set() 集合类型的数据结构
  • useWeakSet useWeakSet 管理 new WeakSet() 集合类型的数据结构,弱引用版本的 Set
  • useQueue 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 可以用来禁止页面滚动
1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago