Photo by Roksolana Zasiadko on Unsplash

REACT CUSTOM HOOKS

CustomHooks extends Timer & Interval Usage

Aşağıda usehooks.com adresinde bulunan bazı custom hook’ ların nasıl Timer ve Interval kullanımını daha basit hale getirdiğini demolar ile göstereceğim

Frontend Development With JS
3 min readOct 10, 2023

--

eact Hook’larını React.dev sitesinden incelediğinizde bir sürü built-in react hook yer aldığını görebilirsiniz.

  • State Hooks : useState, useReducer
  • Context Hooks: useContext
  • Ref Hooks: useRef, useImperativeHandle
  • Effect Hooks: useEffect, useLayoutEffect, useInsertionEffect
  • Performance Hooks: useMemo, useCallback, useTransition, useDefferedValue
  • Resource Hooks: use
  • Other Hooks: useId, useDebugValue, useSyncExternalStore

Bugün üzerinde duracağımız konu ise DOM üzerinde JS ile yaptığımız değişiklikleri nasıl CustomHook’ lar ile yazılabiliyor olduklarını inceleyeceğiz. Bu örneklere React Digital Garden üzerindeki knowledge map’ lerden erişebilirsiniz.

useInterval

https://onurdayibasi.dev/uidev-customhooks/useInterval

useTimeout

Bu örnekte alta gözüken Hello World yazısı 3 saniye bekletildikten sonra gösterilir.

https://onurdayibasi.dev/uidev-customhooks/useTimeout

useDebounce

Bu özellik genelde ekranda bir alan (input) içerisine bir arama girdiğimizde bu aramanın her harf değişikliğinde çalışarak backend yorması yerine belli aralıklar bırakarak backend çağırmasında kullanılır.

Aşağıdaki örnekte bir input alanı bulunuyor. Bunun içerine kelimeyi yazdıkça bir anlık değerini bir de debounce edilmiş değerini görebilirsiniz.

https://onurdayibasi.dev/uidev-customhooks/useDebounce

useContinuesRetry

Bu örnek bir servise gidip belli bir değere ulaşamadığınızda ama arkasından belli aralıklar ile tekrar tekrar sorgulayıp veriyi almak istediğinizde kullanabileceğiniz bir hook örnek kullanımıdır.

https://onurdayibasi.dev/uidev-customhooks/useContinuesRetry

useRandomInterval

Aşağıdaki örnekte bir interval ile veri üretmek istiyoruz ama bu interval’ında random oluşmasını istiyoruz. Oyunlarda , Parçacık sistemlerinde kullanabileceğiniz bir custom hook yapısıdır. Aşağıdaki örnekte random sayının sürekli değiştiğini ama değişim zamanlarının random aralıklarda olduğunu görebilirsiniz.

https://onurdayibasi.dev/uidev-customhooks/useRandomInterval

useIntervalWhen

Interval döngüsünün bir koşula bağlı olduğu örnektir. Bu koşul sadece kullandığımız hook api’sinin inputlarının koşula bağlanmasını sağlamıştır.

https://onurdayibasi.dev/uidev-customhooks/useIntervalWhen

useCountDown

Bu örnekte ise basılan düğmeye göre 5, 10, 15 sn mevcut zamana ekleyerek bu zamandan aşağıya doğru sayılmasını sağlayan hook yapısıdır.

https://onurdayibasi.dev/uidev-customhooks/useCountDown

useThrottle

Bu örnek useDebounce çok benzeyen bir custom-hook, useDebounce Input’larda sıklıkla kullanılırken buda Scrolling işlemlerinde resimlerin lazy-loading (geç yüklenmesinde) network yormamak için kullanılan custom-hooklardan bir tanesidir.

https://onurdayibasi.dev/uidev-customhooks/useThrottle

useIdle

Bu örnekte kullanıcının hareketleri dinlenerek kullanıcının ekranda aktif bir hareket yapıp yapmadığı kontrol edilir ve ui bunun ilgili status basılır.

https://onurdayibasi.dev/uidev-customhooks/useIdle

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--

No responses yet