Skip to content

useMutationObserver ​

Category
Browser

Hook that gives you mutation observer state

typescript
import { useMutationObserver } from '@siberiacancode/reactuse';

Usage ​

typescript
const { ref, observer, stop } = useMutationObserver(() => console.log('callback'))

Demo ​

Api ​

Parameters

NameTypeDefaultNote
callbackMutationCallback-The callback to execute when mutation is detected
options.enabled?booleantrueThe enabled state of the mutation observer
options.attributes?boolean-Set to true if mutations to target's attributes are to be observed
options.characterData?boolean-Set to true if mutations to target's data are to be observed
options.childList?boolean-Set to true if mutations to target's children are to be observed
options.subtree?boolean-Set to true if mutations to not just target, but also target's descendants are to be observed
options.characterDataOldValue?boolean-Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded
options.attributeOldValue?boolean-Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted
options.attributeFilter?string[]-Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted

Parameters

NameTypeDefaultNote
targetTarget-The target element to observe
callbackMutationCallback-The callback to execute when mutation is detected
options.enabled?booleantrueThe enabled state of the mutation observer
options.attributes?boolean-Set to true if mutations to target's attributes are to be observed
options.characterData?boolean-Set to true if mutations to target's data are to be observed
options.childList?boolean-Set to true if mutations to target's children are to be observed
options.subtree?boolean-Set to true if mutations to not just target, but also target's descendants are to be observed
options.characterDataOldValue?boolean-Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded
options.attributeOldValue?boolean-Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted
options.attributeFilter?string[]-Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted

Contributors ​

Source • Demo