CodeBlanks Logo Icon CodeBlanks

Kontrollü input

Input değerini state'e bağlayarak kontrollü bileşen yazmayı öğrenirsin.

Kontrollü input

Bir input'u kontrollü yapmak, değerini state'e bağlamaktır. input'un value özniteliğine state'i, onChange'e de güncelleyiciyi verirsin.

Yazım: <input value={text} onChange={e => setText(e.target.value)} />. Böylece input her zaman state'i gösterir; her tuş state'i günceller.

Bu, React form yaklaşımının temelidir: tek doğru kaynak (single source of truth) state'tir.

onChange akışı

Her tuş basışında onChange tetiklenir, handler e.target.value alır ve setText ile state'i günceller. React yeniden çizer; input yeni değeri gösterir.

Bu döngü çok hızlıdır; kullanıcı akıcı yazım hisseder. React'in "tek yönlü veri akışı" budur.

Kontrollü input olmadan React input'un içeriğini bilmez; bu yüzden her zaman kontrollü kullanırız.

Uygulama Kontrollü input

Aşağıdaki iskeleti tamamla. NameInput bileşeni yaz; useState'i içe aktar. const [text, setText] = useState(""); tanımla. <input value={text} onChange={e => setText(e.target.value)} /> döndür. Dışa aktar.

Başlangıç kodu

App.jsx
import { useState } from "react";

// NameInput bileşenini buraya tanımla

Örnek çözüm

App.jsx
import { useState } from "react";

function NameInput() {
  const [text, setText] = useState("");
  return <input value={text} onChange={e => setText(e.target.value)} />;
}

export default NameInput;

Soru ve cevaplar

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

1 Kontrollü input'un değeri nereden gelir?

App.jsx
State is the single source of truth.
  • tarayıcı belleğinden
  • DOM'dan
  • state'ten Doğru cevap
  • props'tan değil

Açıklama: value={text} ile state kaynak olur.

2 Kontrollü input: eksik parçayı tamamla

Soru
<input value={text} onChange={e => setText(e.____)} />
Cevap
<input value={text} onChange={e => setText(e.target.value)} />

Açıklama: e.target.value güncel metni verir.

3 Kontrollü input: kavramları eşleştir

Kavram Anlamı
value State kaynağı
onChange Değişim olayı
e.target.value Güncel metin
setText Güncelleyici

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