Parçacıklara Dön
ReactTypeScript

React useInfiniteScroll Hook

Kullanıcı sayfanın altına yaklaştığında callback tetikleyen hook.

reacthookscrollpagination
import { useEffect, useCallback } from class=class="text-emerald-400">"text-emerald-400">'react'

function useInfiniteScroll(
  callback: () => void,
  options: { threshold?: number; enabled?: boolean } = {}
) {
  const { threshold = 200, enabled = true } = options

  const handleScroll = useCallback(() => {
    const scrollBottom =
      document.documentElement.scrollHeight -
      window.innerHeight -
      window.scrollY

    if (scrollBottom < threshold) {
      callback()
    }
  }, [callback, threshold])

  useEffect(() => {
    if (!enabled) return
    window.addEventListener(class=class="text-emerald-400">"text-emerald-400">'scroll', handleScroll, { passive: true })
    return () => window.removeEventListener(class=class="text-emerald-400">"text-emerald-400">'scroll', handleScroll)
  }, [handleScroll, enabled])
}

export default useInfiniteScroll

Nasıl Kullanılır

Liste bileşeninde çağırın: useInfiniteScroll(() => loadMore(), { threshold: 300, enabled: hasMore }). Kullanıcı sayfanın altından 300px uzaktayken callback'i tetikler. Tüm veri yüklendiğinde devre dışı bırakın.

İlgili Teknoloji

React

Aklınızda Bir Proje mi Var?

Fikrinizi birlikte hayata geçirelim. 50+ teslim edilmiş projeyle sizi konseptten yayına hazır bir ürüne taşıyor; sabit fiyatlı tekliflerle özel yazılım geliştirme sunuyoruz. Hiçbir taahhüt olmadan ücretsiz danışmanlık alın.

veya ücretsiz görüşme ayarlayın