@gechiui/block-editor
Version:
26 lines (23 loc) • 484 B
JavaScript
/**
* GeChiUI dependencies
*/
import { useRefEffect } from '@gechiui/compose';
import { useContext } from '@gechiui/element';
/**
* Internal dependencies
*/
import { IntersectionObserver } from '../';
export function useIntersectionObserver() {
const observer = useContext( IntersectionObserver );
return useRefEffect(
( node ) => {
if ( observer ) {
observer.observe( node );
return () => {
observer.unobserve( node );
};
}
},
[ observer ]
);
}