UNPKG

react-hooks-and-com

Version:

一个现代化的 React 自定义 Hooks 库,提供 20+ 个实用的自定义 Hooks。使用 TypeScript 和 Tailwind CSS 构建,完全类型安全。

40 lines 1.28 kB
import { RefObject } from 'react'; export interface UseInViewOptions extends IntersectionObserverInit { /** 是否在初始渲染时触发回调 */ triggerOnce?: boolean; /** 元素进入视口时的回调 */ onEnter?: () => void; /** 元素离开视口时的回调 */ onLeave?: () => void; } export interface UseInViewReturn { /** 要检测的元素引用 */ ref: RefObject<Element | null>; /** 元素是否在视口中 */ inView: boolean; /** 元素进入视口的次数 */ entryCount: number; /** 元素是否已经进入过视口(仅在 triggerOnce 为 true 时有效) */ hasEntered: boolean; } /** * 视口检测 Hook * 用于检测元素是否进入或离开视口 * * @param options 配置选项 * @returns 返回元素引用和视口状态 * * @example * ```tsx * const { ref, inView, entryCount } = useInView({ * threshold: 0.5, * rootMargin: '0px 0px -100px 0px', * onEnter: () => console.log('元素进入视口'), * onLeave: () => console.log('元素离开视口') * }); * * return <div ref={ref}>当前在视口中: {inView ? '是' : '否'}</div>; * ``` */ export declare const useInView: (options?: UseInViewOptions) => UseInViewReturn; //# sourceMappingURL=useInView.d.ts.map