0Pricing
React Academy · Ders

State'i Yukarı Taşıma: İlkeler ve Örnekler

Paylaşılan state'i en yakın ortak üst bileşene taşıyın ve props aracılığıyla alt bileşenlere aktarın.

State'i Yukarı Taşıma: İlkeler ve Örnekler, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Bu derste durumu üst bileşene taşıma desenini öğreneceksiniz. Bu desende paylaşılan durum, kardeş bileşenlerin eşzamanlı kalabilmesi için en yakın ortak ataya taşınır.

Sorun: Eşzamanlı Olmayan Kardeş Bileşenler

İki kardeş bileşenin aynı verilere ihtiyaç duyması durumunda, her birinde ayrı durum tutmak eşzamanlama hatalarına yol açar. Çözüm, durumu ortak üst bileşenlerine taşımaktır.

Ortak Atayı Belirleme

Paylaşılan verilere ihtiyaç duyan **her iki** bileşenin de üstü olan en yakın bileşeni bulun. Durumu oraya taşıyın ve özellikler olarak alt bileşenlere aktarın.
function Parent() {
  const [value, setValue] = useState('');
  return (
    <>
      <InputA value={value} onChange={setValue} />
      <PreviewB value={value} />
    </>
  );
}

Sayaç Taşıma Örneği

İki bileşenin aynı sayacı gösterdiğini varsayalım. count değerini her birinde yönetmek yerine üst bileşene taşıyın. Her ikisi de count değerini özellik olarak alır ve güncellemek için bir `onChange` geri çağırma işlevi çağırır.
function App() {
  const [count, setCount] = useState(0);
  return (
    <>
      <CounterDisplay count={count} />
      <CounterControl count={count} onIncrement={() => setCount(c => c + 1)} />
    </>
  );
}

Güncellemeler İçin Geri Çağırma Özellikleri

Alt öğeler üst bileşenin durumunu doğrudan değiştiremez. Üst bileşen, bir özelliğin değeri olarak geri çağırma işlevi (örneğin `onChange`) aktarır. Alt öğeler durum değişikliği istemek istediklerinde bu geri çağırma işlevini çağırır.

Taşıma Sonrasında Denetlenen ve Denetlenmeyen

Durum taşındıktan sonra, daha önce duruma sahip olan alt öğe **denetlenen bir bileşene** dönüşür; mevcut değeri ve onChange özelliğini üst bileşeninden alır. Üst bileşen tek doğruluk kaynağıdır.

Çok Düzeyli Durum Taşıma

Bazen durumu ağaçta birkaç düzey yukarı taşımanız gerekir. Durumun birçok aradaki bileşeni aşarak taşınması gerekiyorsa, özellik aktarım zincirinden kaçınmak için bunun yerine bağlamı değerlendirin.

Durum Taşımanın Faydaları

Durumu taşımak tek bir doğruluk kaynağı sağlar, veri akışını öngörülebilir hâle getirir (her zaman yukarıdan aşağıya), hata ayıklamayı kolaylaştırır ve aynı durumun daha fazla kullanıcısını sonradan eklemeyi kolaylaştırır.

Taşınan Durumdan Türetilmiş Durum

Türetilmiş değerleri üst bileşenin içinde taşınan durumdan hesaplayın ve bunları ek özellikler olarak aktarın. Durumu asla çoğaltmayın; türetin.
const [items, setItems] = useState([]);
const filteredItems = items.filter(i => i.done); // derived, not separate state

Durum Taşımanın Aşırıya Kaçtığı Durumlar

Durumu kendinizi 4 veya daha fazla düzey boyunca taşırken buluyorsanız bileşen ağacının yapısı yanlış olabilir ya da bağlamı veya bir durum yönetimi kitaplığını kullanmanın zamanı gelmiş olabilir.

Hızlı Kontrol

İki kardeş bileşenin aynı durum parçasını paylaşması gerektiğinde doğru yaklaşım nedir?

Özet

Kardeş bileşenlerin bir durumu paylaşması gerektiğinde durumu en yakın ortak ataya taşıyın. Mevcut değeri aşağıya, değişiklik geri çağırma işlevlerini yukarıya aktarın. Durumu çoğaltmak yerine değerleri türetin.

Sırada

Sıradaki ders: **Prop Aktarımı: Ne Zaman Sorun, Ne Zaman Uygun?** — sorunlu aktarım zincirlerini belirleyecek ve ne zaman çözüm gerektiğine karar vereceksiniz.

Sıkça Sorulan Sorular

“State'i Yukarı Taşıma: İlkeler ve Örnekler” dersi ücretsiz mi?

Evet — “State'i Yukarı Taşıma: İlkeler ve Örnekler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.

“State'i Yukarı Taşıma: İlkeler ve Örnekler” dersinde ne öğreneceğim?

Paylaşılan state'i en yakın ortak üst bileşene taşıyın ve props aracılığıyla alt bileşenlere aktarın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

React Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“State'i Yukarı Taşıma: İlkeler ve Örnekler” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu React Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. State'i Yukarı Taşıma: İlkeler ve Örnekler
  2. Prop Drilling: Ne Zaman Sorun Olur, Ne Zaman Olmaz
  3. Kardeş Bileşenler Arası İletişim Düzenleri
  4. Doğru State Konumunu Seçme
← React Academy Sayfasına Dön