JSPM

  • Created
  • Published
  • Downloads 258
  • Score
    100M100P100Q98567F
  • License MIT

A hook that can combine two refs(mutable or callbackRefs) into a single callbackRef

Package Exports

  • @rooks/use-fork-ref

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rooks/use-fork-ref) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@rooks/use-fork-ref

TitleCard

Build Status

About

A hook that can combine two refs(mutable or callbackRefs) into a single callbackRef

Installation

npm install --save @rooks/use-fork-ref

Importing the hook

import useForkRef from "@rooks/use-fork-ref"

Usage

function Demo() {
  const [isVisible, setIsVisible] = useState(false);
  const callback = entries => {
    if (entries && entries[0]) {
      setIsVisible(entries[0].isIntersecting);
    }
  };
  const [myIntersectionObserverRef] = useIntersectionObserverRef(callback);
  const [
    myBoundingclientrectRef,
    boundingclientrect
  ] = useBoundingclientrectRef();
  const myRef = useForkRef(myIntersectionObserverRef, myBoundingclientrectRef);
  const displayString = JSON.stringify(boundingclientrect, null, 2);
  return (
    <>
      <div
        style={{
          position: "fixed",
          top: 0,
          right: 0
        }}
      >
        <h1>Is rectangle visible - {String(isVisible)}</h1>
      </div>
      <div style={{ height: 2000 }}></div>
      <div ref={myRef} style={{ height: 300, background: "lightblue" }}>
        <p>Boundingclientrect</p>
        <pre>{displayString}</pre>
      </div>
      <div style={{ height: 2000 }}></div>
    </>
  );
}

render(<Demo/>)

Arguments

Argument value Type Description
ref2 Callback/Mutable ref First ref
ref1 Callback/Mutable ref Second ref

Returns

Return value Type Description Default value
ref Callback ref A callback ref function that can internally combines both the refs from the arguments () => null

Original source

Note: Credit of this hook goes to material-ui

Source