CodeBlanks Logo Icon CodeBlanks

controlled input

Controlled input ve state öğrenirsin.

Controlled input

React Native'te controlled input, value prop'u bir state'ten gelen ve değişimin yine state'i güncelleyen TextInput'dur. Yani value={name} ile güncel metin state'ten okunur, onChangeText={setName} ile her tuş vuruşu state'e yazılır.

Bu desende veri tek kaynaktan akar: state. Görüntü her zaman state'in yansımasıdır. Bu, doğrulama ve senkronizasyon için tutarlı bir yapı kurar. Bu derste controlled bir TextInput'u nasıl kuracağımızı göreceğiz.

Value ve state akışı

Controlled deseni şöyle kurulur: önce const [name, setName] = useState(""); ile state'i tanımla. Sonra <TextInput value={name} onChangeText={setName} /> ile her iki prop'u da bağla.

Akış: kullanıcı yazınca onChangeText setName'i çağırır, state güncellenir, bileşen yeniden render olur, value={name} güncel metni gösterir. Eğer value prop'unu eklemezsen onChangeText yine çalışır ama alan "uncontrolled" kalır; değer senin elinde tutulmaz.

Uygulama Controlled TextInput kur

useState'i react'ten ve TextInput'u react-native'den içe aktar. name state'i oluştur (ilk değeri boş dize). <TextInput>'u controlled yap: hem value={name} hem onChangeText={setName} prop'ları olsun.

Başlangıç kodu

App.js
// useState ve TextInput'u içe aktar
// name state'i oluştur
function App() {
  return null;
}

Örnek çözüm

App.js
import { useState } from "react";
import { TextInput, View } from "react-native";

function App() {
  const [name, setName] = useState("");
  return (
    <View>
      <TextInput value={name} onChangeText={setName} />
    </View>
  );
}

Soru ve cevaplar

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

1 Controlled input ne demektir?

App.js
<TextInput value={name} onChangeText={setName} />
  • Value state'ten gelir Doğru cevap
  • Yalnızca okunabilir
  • State kullanılmaz
  • Value sabit kalır

Açıklama: Controlled input'ta value bir state'ten gelir.

2 Controlled akışı eşle

Kavram Anlamı
Kullanıcı yazar onChangeText tetiklenir
setName State'i günceller
Re-render value güncellenir
value={name} State'ten okur

3 value prop'u

Soru
<TextInput ____={name} onChangeText={setName} />
Cevap
<TextInput value={name} onChangeText={setName} />

Açıklama: value prop'u controlled desende güncel metni state'ten okur.

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