useMutationObserver

一个方便使用 MutationObserver API 的 React 钩子。

演示

源码
Supported:
false

用法

请查看 API。

源码

点击下方链接跳转 GitHub 查看源代码。

API

const { observerRef, isSupported, ...controls } = useMutationObserver(elementTarget, callback, options)

元素目标 ElementTarget

ElementTarget 是一个联合类型,代表可以被定位的各种元素。

更多详情,请参见 ElementTargetElementTarget 类型

回调 Callback

MutationCallback,当变化发生时将被调用的函数。

type MutationCallback = (mutations: MutationRecord[], observer: MutationObserver) => void

选项 Options

export interface UseWebObserverOptions { /** * 调用此函数后立即开始观察 * * @defaultValue true */ immediate?: boolean } type MutationObserverInit = { childList?: boolean attributes?: boolean characterData?: boolean subtree?: boolean attributeOldValue?: boolean characterDataOldValue?: boolean attributeFilter?: string[] } export interface UseMutationObserverOptions extends UseWebObserverOptions, MutationObserverInit {}

返回值

Retuerns contain Pausable instance that can be paused, resumed.

See Pausable for more details.

export type UseWebObserverReturns<Observer> = Pausable & { /** * 持有观察者实例的 ref */ observerRef: React.MutableRefObject<Observer | null> /** * 检查当前环境中是否支持观察者 */ isSupported: boolean } export type UseMutationObserverReturns = UseWebObserverReturns<MutationObserver>