Appearance
Hooks 总览
@mbjia/hooks
Hooks 总览
@mbjia/hooks 提供通用 React Hooks 和模板加业务 Hooks。普通页面优先使用状态、异步、DOM 类 Hook;业务 Hook 依赖接口、Cookie、站点环境和用户权限。
分类
| 分类 | Hooks |
|---|---|
| 状态 | useModal、useToggle、useInputChange、useRadio、useReactive、useUpdate |
| 稳定引用 | useLatest、useEvent、useCreation、useLockFn |
| 异步 | useFetch、useLazyCallback、useInterval、usePolling |
| DOM/浏览器 | useElementSize、useInnerWidth、useImageLoad、useScript、useClickOutside、usePageTitle、useCopy、useUserAgent |
| 业务 | useVerifyCode、useVerifyCodeForProduct、usePayment、useUserInfo、useVerifySubscription、usePromiseErrorHandler、useFetchManagerQrCode |
快速选择
| 你要做什么 | 推荐 Hook | 文档 |
|---|---|---|
| 控制弹窗开关 | useModal | 状态类 Hooks |
| 管理输入框值 | useInputChange | 状态类 Hooks |
| 防止重复提交 | useLazyCallback / useLockFn | 异步类 Hooks |
| 带取消能力请求 | useFetch | 异步类 Hooks |
| 定时轮询 | useInterval / usePolling | 异步类 Hooks |
| 监听元素尺寸 | useElementSize | DOM 与浏览器 Hooks |
| 复制文本 | useCopy | DOM 与浏览器 Hooks |
| 下载权益验证 | useVerifySubscription | 业务 Hooks |
使用示例
tsx
import { useModal } from '@mbjia/hooks'
function Demo() {
const { open, openModal, closeModal } = useModal()
return (
<>
<button onClick={openModal}>打开</button>
{open && <div onClick={closeModal}>内容</div>}
</>
)
}业务 Hook 依赖接口、Cookie、站点环境和用户权限,不建议脱离模板加业务项目使用。