App_React

Форк
0
/
useObserver.js 
20 строк · 523.0 Байт
1
import { useEffect, useRef } from "react";
2

3
export const useObserver = (ref, canLoad, isLoading, callback) => {
4

5
   const observer = useRef();
6

7
   useEffect(() => {
8
      if(isLoading) return;
9
      if(observer.current) observer.current.disconnect();
10
      
11
      var calb = function(entries, observer) {
12
         if(entries[0].isIntersecting && canLoad) {
13
         callback()
14
        }
15
      };
16
      
17
      observer.current = new IntersectionObserver(calb);
18
      observer.current.observe(ref.current)
19
   },[isLoading])
20
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.