CodeBlanks Logo Icon CodeBlanks

Form olayları

Input ve form gönderim olaylarını yakalamayı öğrenirsin.

Form olayları

Bir form gönderildiğinde tarayıcı sayfayı yeniler. React'te bunu engelleriz: handler içinde e.preventDefault() çağırırız.

Form etiketine onSubmit={handleSubmit} yazarsın. Handler, e alır ve önce e.preventDefault() yapar; sonra istediğini yapar.

Böylece form, sayfa yenilenmeden veriyi işleyebilir. Bu, modern React formlarının temelidir. Enter tuşu da aynı handler'ı çağırır; böylece klavye ile gönderim çalışır.

Submit düğmesi

Form içinde <button type="submit">Gönder</button> yazarsan, düğme formu gönderir. type="submit" öntanımlıdır ama yine de yazmak iyidir.

Düğmeye ayrıca onClick koymak yerine formun onSubmit'ini dinlemek daha temizdir; Enter tuşu da formu gönderir.

Bu yapı, klavye ve fare ile çalışan erişilebilir formlar kurar.

Uygulama Form iskeleti

Aşağıdaki iskeleti tamamla. SignupForm bileşeni yaz; içinde handleSubmit adında, parametresi e olan bir fonksiyon tanımla; ilk satırda e.preventDefault() çağırsın. <form onSubmit={handleSubmit}> içinde bir <input /> ve <button type="submit">Gönder</button> döndürsün. Dışa aktar.

Başlangıç kodu

App.jsx
// SignupForm bileşenini buraya tanımla

Örnek çözüm

App.jsx
function SignupForm() {
  function handleSubmit(e) { e.preventDefault(); }
  return <form onSubmit={handleSubmit}><input /><button type="submit">Gönder</button></form>;
}

export default SignupForm;

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Form gönderiminde sayfa yenilenmesini ne engeller?

App.jsx
preventDefault cancels the browser default behavior.
  • e.preventDefault() Doğru cevap
  • e.stopPropagation()
  • return false
  • form reload

Açıklama: e.preventDefault() öntanımlı yenilemeyi durdurur.

2 Form olayları: eksik parçayı tamamla

Soru
function handleSubmit(e) { ____; /* işle */ }
Cevap
function handleSubmit(e) { e.preventDefault(); /* işle */ }

Açıklama: Önce öntanımlı davranışı engelledin.

3 Form olayları: kavramları eşleştir

Kavram Anlamı
onSubmit Form gönderim
e.preventDefault() Yenilemeyi engeller
type="submit" Gönderen düğme
input Veri alanı

Başlangıç bölümündeki tüm dersler