useIntersectionObserver
This simple React Hook uses the Intersection Observer API in order to relay information to your UI about whether a given element is intersecting with the viewport.
Getting Started
⚠ Caution: Hooks is an experimental proposal from the React core team and is best not to use in production yet. This project will likely become production ready when Hooks are, but for now, let it serve fun and educational purposes.
Firstly, you'll want to yarn add react-hook-intersection-observer
into your project.
Then, using this is as simple as:
import React useState from "react";import useIntersectionObserver from "react-hook-intersection-observer"; const App = const root = ; // We need a ref to our "root" or our parent, const target = ; // We need a ref to our "target" or our child-to-watch, // Let's use a bit of state. const isThingIntersecting setThingIntersecting = ; // Here's our hook! Let's give it some configuration... ; return <div ="App"> <h1>useIntersectionObserver</h1> <h2> The thing is currently" " !isThingIntersecting && <span =>not</span>" " <span => intersecting </span> ! </h2> <div = ="black-box"> <div ="larger-box"> <div =>THE THING</div> </div> </div> </div> ;;
Contributing
This project is totally open for contributions. Get started by looking at the list of open issues, or by opening one and we can talk about improvements! Wooo!