React Events Kullanımı
React Events Nedir ve Nasıl Kullanılır?

Bu yazımda andığım kadarıyla bu yazımda React events (olaylar) konusundan bahsedeceğim.

En basit hali ile bir butona, tuşa basıldığında veya ekranda bir alana gelindiğinde bir olay tetikliyoruz. Bunları React’ta events ile yapıyoruz.

Javascript’te bildiğimiz eventler ile aynı mantık çalışıyor, sadece dikkat edilmesi gereken bazı hususlar mevcut. Eventler genellikle handle kelimesi ile başlar. Tabiki zorunlu değilsiniz, istediğiniz ismi verebilirsiniz ancak genel kullanımda handle görüldüğünde bir event olduğu anlaşılıyor.

export default function Events() {
  function handlePreviousClick() {
    alert("Geri butonu");
  }

  function handleNextClick() {
    alert("İleri butonu");
  }

  return (
    <>
      <button onClick={handlePreviousClick}>Previous</button>
      <button onClick={handleNextClick}>Next</button>
    </>
  );
}

Yukarıdaki kod bloğunda Previous ve Next adında iki adet butonumuz var. Bunlardan birine tıklandığında handlePreviousClick fonksiyonu, diğerine tıklandığında handleNextClick fonksiyonu çağırılıyor.

Fonksiyonu çağırırken önüne () ifadelerini eklersek sayfa yüklenince fonksiyonlar çağrılır. Bunu istemediğimiz için <button onClick={handlePreviousClick}>Previous</button> şeklinde tanımlıyoruz.

Yukarıdaki kodda tek bir click işleminde bir fonksiyon çağırılacak ise aşağıdaki gibi bir kullanım daha mantıklı olacaktır.

export default function Events() {
  return (
    <>
      <button
        onClick={() => {
          alert("Geri butonu");
        }}
      >
        Previous
      </button>
      <button
        onClick={() => {
          alert("İleri butonu");
        }}
      >
        Next
      </button>
    </>
  );
}

React’ta En Sık Kullanılan Events(Olaylar)

Bu event’ler React projelerinde kullanıcı etkileşimlerini yakalamak ve işlemleri gerçekleştirmek için sıkça kullanılır. Daha fazlasına ve kullanımlarına react.dev adresinden ulaşabilirsiniz.

  1. onChange – Form elementlerinde (input, textarea, select) değer değişikliğini yakalar.
  2. onSubmit – Form gönderildiğinde tetiklenir.
  3. onClick – Bir elemente tıklandığında tetiklenir.
  4. onDoubleClick – Bir elemente çift tıklandığında tetiklenir.
  5. onFocus – Bir input elementine odaklanıldığında tetiklenir.
  6. onBlur – Bir input elementinden odak kaybolduğunda tetiklenir.
  7. onKeyDown – Klavyede bir tuşa basıldığında tetiklenir.
  8. onKeyUp – Bir tuş serbest bırakıldığında tetiklenir.
  9. onLoad – Sayfa veya resim gibi içerikler yüklendiğinde tetiklenir.
  10. onResize – Pencere boyutu değiştiğinde tetiklenir.
  11. onMouseEnter – Fare bir elementin üzerine geldiğinde tetiklenir.
  12. onMouseLeave – Fare bir elementin üzerinden çıktığında tetiklenir.
  13. onMouseDown – Fare bir elemente tıklandığında (basılı tutulduğunda) tetiklenir.
  14. onMouseUp – Fare bir elementteki tıklama bırakıldığında tetiklenir.
  15. onMouseMove – Fare hareket ettiğinde tetiklenir.
  16. onTouchStart – Dokunmatik cihazlarda bir elemente dokunma başladığında tetiklenir.
  17. onTouchMove – Dokunmatik cihazlarda bir element üzerinde hareket edildiğinde tetiklenir.
  18. onTouchEnd – Dokunmatik cihazlarda bir elemente dokunma sona erdiğinde tetiklenir.
  19. onCopy – Bir içerik kopyalandığında tetiklenir.
  20. onPaste – Bir içerik yapıştırıldığında tetiklenir.
  21. onCut – Bir içerik kesildiğinde tetiklenir.
  22. onScroll – Bir element kaydırıldığında tetiklenir.
  23. onContextMenu – Sağ tıklama ile bağlam menüsü açıldığında tetiklenir.
  24. onDragStart – Bir element sürüklenmeye başlandığında tetiklenir.
  25. onDragOver – Bir element üzerinde sürüklenme devam ederken tetiklenir.
  26. onDrop – Bir element üzerine bırakıldığında tetiklenir.

Daha fazlasına buradan ulaşabilirsiniz.

Buraya kadar anlattığımız kısımda temel event kullanımını işledik. Normal Javascript’te bir event sonrasında güncellenen veriyi ekrana yansıtmak için tekrar bir render fonksiyonunu çağıyoruz ve tüm içerik tekrar yükleniyordu. React’te bulunan state kullanımı sayesinde buna gerek kalmıyor.

Gönderilere yorum yazabilir veya @huseyineskan instagram hesabımdan benimle iletişime geçebilirsiniz.