1.0.0 • Published 3 years ago

@valu/react-intersection-observer v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

React Intersection Observer

A React Hook for the Intersection Observer API.

This can be used for lazy loading and rendering when something appears into to view port

Install

npm install @valu/react-intersection-observer

Usage

import { useIntersectionObserver } from "@valu/react-intersection-observer";

In a component

function LazyVideo() {
    const [loadVideo, setLoadVideo] = useState(false);

    const videoRef = useIntersectionObserver(() => {
        setLoadVideo(true);
    });

    return (
        <Wrapper ref={ref}>{loadVideo ? <Video /> : <Placeholder />}</Wrapper>
    );
}

This will render the <Video> component only when its wrapper is scrolled to the view port.

Options

Following options can passed to the hook:

const ref = useIntersectionObserver(fn, {
    /* options */
});