Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3607 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3607 Rev 3609
Línea 1... Línea 1...
1
import { useEffect, useRef } from 'react';
1
import { useCallback, useRef } from 'react';
Línea 2... Línea 2...
2
 
2
 
3
export const useInfinityScroll = ({ onIntersect }) => {
3
export const useInfinityScroll = ({ onIntersect }) => {
Línea -... Línea 4...
-
 
4
  const observer = useRef(null);
4
  const elementRef = useRef(null);
5
 
5
 
-
 
6
  useEffect(() => {
6
  const lastElementRef = useCallback(
7
    elementRef.current = new IntersectionObserver((entries) => {
-
 
8
      if (entries[0].isIntersecting) {
-
 
9
        onIntersect();
-
 
Línea 10... Línea 7...
10
      }
7
    (node) => {
11
    });
8
      if (observer.current) observer.current.disconnect();
-
 
9
 
12
 
10
      observer.current = new IntersectionObserver((entries) => {
13
    return () => {
11
        if (entries[0].isIntersecting) {
Línea -... Línea 12...
-
 
12
          onIntersect();
-
 
13
        }
-
 
14
      });
-
 
15
 
-
 
16
      if (node) observer.current.observe(node);
14
      if (elementRef.current) elementRef.current.disconnect();
17
    },
15
    };
18
    [onIntersect]