4.11.2 • Published 3 years ago

@rooks/use-mutation-observer v4.11.2

Weekly downloads
36,844
License
MIT
Repository
github
Last release
3 years ago

@rooks/use-mutation-observer

Note: Future updates to this package have moved to the main package rooks. All hooks now reside in a single package which you can install using

npm install rooks

or

yarn add rooks

Rooks is completely treeshakeable and if you use only 1 of the 50+ hooks in the package, only that hook will be bundled with your code. Your bundle will only contain the hooks that you need. Cheers!

TitleCard

Build Statusnpm.io npm.io npm.io npm.io

About

Mutation Observer hook for React.

Installation

npm install --save @rooks/use-mutation-observer

Importing the hook

import useMutationObserver from "@rooks/use-mutation-observer"

Usage

function Demo() {
  const myRef = useRef();
  const [mutationCount, setMutationCount] = useState(0);
  const incrementMutationCount = () => {
    return setMutationCount(mutationCount + 1);
  };
  useMutationObserver(myRef, incrementMutationCount);
  const [XOffset, setXOffset] = useState(0);
  const [YOffset, setYOffset] = useState(300);
  return (
    <>
      <div
        style={{
          width: 300,
          background: "lightblue",
          padding: "10px",
          position: "absolute",
          left: XOffset,
          top: YOffset
        }}
        ref={myRef}
      >
        <div
          style={{
            resize: "both",
            overflow: "auto",
            background: "white",
            color: "blue",
            maxWidth: "100%"
          }}
        >
          <p>
            Resize this div as you see fit. To demonstrate that it also updates
            on child dom nodes resize
          </p>
        </div>
        <h2>Bounds</h2>
        <p>
          <button onClick={() => setXOffset(XOffset - 5)}> Move Left </button>
          <button onClick={() => setXOffset(XOffset + 5)}> Move Right </button>
        </p>
        <p>
          <button onClick={() => setYOffset(YOffset - 5)}> Move Up </button>
          <button onClick={() => setYOffset(YOffset + 5)}> Move Down </button>
        </p>
      </div>
      <div style={{ height: 500 }} onClick={incrementMutationCount}>
        <pre>Mutation count {mutationCount}</pre>
      </div>
    </>
  );
}

render(<Demo/>)

Arguments

ArgumentTypeDescriptionDefault value
refReact refRef which should be observed for Mutationsundefined
callbackfunctionFunction which should be invoked on mutation. It is called with the mutationList and observerundefined
configobjectMutation Observer configuration{attributes: true,,characterData: true,,subtree: true,,childList: true}
4.11.1

3 years ago

4.11.2

3 years ago

4.11.0

3 years ago

4.10.1

3 years ago

4.10.0

3 years ago

4.9.2

3 years ago

4.9.1

3 years ago

4.9.0

3 years ago

4.9.0-canary.0

3 years ago

4.8.1

3 years ago

4.8.0

3 years ago

4.7.0

3 years ago

4.7.1

3 years ago

4.6.1

3 years ago

4.6.0

3 years ago

4.5.0-canary.2

3 years ago

4.5.0

3 years ago

4.4.0

3 years ago

4.3.0

3 years ago

4.2.1-canary.0

3 years ago

4.2.1-canary.2

3 years ago

4.2.1-canary.3

3 years ago

4.2.0

3 years ago

4.1.1

3 years ago

4.1.1-canary.0

3 years ago

4.1.0

3 years ago

4.1.0-canary.2

3 years ago

4.1.0-canary.1

3 years ago

4.0.2

3 years ago

4.0.1

3 years ago

4.0.0-canary.23

3 years ago

4.0.0-canary.22

3 years ago

4.0.0

3 years ago

4.0.0-canary.20

3 years ago

4.0.0-canary.17

3 years ago

4.0.0-canary.19

3 years ago

4.0.0-canary.16

3 years ago

4.0.0-canary.14

3 years ago

4.0.0-canary.13

3 years ago

4.0.0-canary.10

3 years ago

4.0.0-canary.9

3 years ago

4.0.0-canary.8

3 years ago

4.0.0-canary.6

3 years ago

4.0.0-canary.0

3 years ago

3.6.1-canary.2

4 years ago

3.6.0

4 years ago

3.6.0-canary.0

4 years ago

3.5.1

4 years ago

3.5.1-canary.20

4 years ago

3.5.0-canary.9

4 years ago

3.4.4-71d48a96.0

4 years ago

3.5.0

4 years ago

3.4.4-e1839b43.0

4 years ago

3.4.4-a9fb8da1.0

4 years ago

3.4.3

4 years ago

3.4.4-ca7e506a.0

4 years ago

3.4.4-0b6223c4.0

4 years ago

3.4.3-cfbe4783.0

4 years ago

3.4.3-f130c101.0

4 years ago

3.4.3-695b2acc.0

4 years ago

3.4.3-53abf21e.0

4 years ago

3.4.3-bb90b83d.0

4 years ago

3.4.3-5f1a38fa.0

4 years ago

3.4.3-20c504bd.0

4 years ago

3.4.2

4 years ago

3.4.3-efa33040.0

4 years ago

3.4.2-1963d180.0

4 years ago

3.4.2-0668aca8.0

4 years ago

3.4.2-dev.1

4 years ago

3.4.2-dev.0

4 years ago

3.4.1

4 years ago

3.4.0

5 years ago

3.3.0

5 years ago

3.3.0-alpha.0

5 years ago

3.2.4

5 years ago

3.2.3

5 years ago

3.2.2-alpha.0

5 years ago

3.2.2

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.1-alpha.1

5 years ago

3.1.1-alpha.0

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

3.0.0-beta.4

5 years ago

3.0.0-beta.3

5 years ago

3.0.0-beta.1

5 years ago

3.0.0-beta.0

5 years ago

3.0.0-alpha.4

5 years ago

3.0.0-alpha.3

5 years ago

3.0.0-alpha.1

5 years ago

1.1.0

5 years ago

1.1.4-alpha.0

5 years ago

1.1.3-alpha.0

5 years ago

1.1.1-alpha.0

5 years ago

1.1.0-alpha.0

5 years ago

1.0.17-alpha.7

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.11-alpha.1

5 years ago

1.0.11-alpha.0

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8-alpha.0

5 years ago

1.0.7

5 years ago

1.0.5

5 years ago

1.0.3-alpha.0

5 years ago

1.0.0

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago