Proyectos de Subversion LeadersLinked - SPA

Rev

Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import { useCallback, useRef } from 'react';

export const useInterceptionObserver = ({ onIntersect }) => {
  const observer = useRef(null);

  const lastElementRef = useCallback(
    (node) => {
      if (observer.current) observer.current.disconnect();

      observer.current = new IntersectionObserver((entries) => {
        if (entries[0].isIntersecting) {
          onIntersect();
        }
      });

      if (node) observer.current.observe(node);
    },
    [onIntersect]
  );

  return { elementRef: lastElementRef };
};