pull/9529/head
StyleZhang 2 years ago
parent 8dd941e3d2
commit 27ae74af50

@ -0,0 +1,20 @@
import { useEffect } from 'react'
export const useScrollIntersection = (
rootRef: React.RefObject<HTMLDivElement>,
anchorRef: React.RefObject<HTMLDivElement>,
callback: (isIntersecting: boolean) => void,
) => {
useEffect(() => {
let observer: IntersectionObserver | undefined
if (rootRef.current && anchorRef.current) {
observer = new IntersectionObserver((entries) => {
callback(entries[0].isIntersecting)
}, {
root: rootRef.current,
})
observer.observe(anchorRef.current)
}
return () => observer?.disconnect()
}, [rootRef, anchorRef, callback])
}
Loading…
Cancel
Save