0Pricing
React Academy · Ders

Atomlar: Jotai'de Durum Birimi

atom() ile ilkel atomlar oluşturup Jotai'nin Sağlayıcısız tasarımının Context'ten nasıl farklı olduğunu anlayın

Atomlar: Jotai'de Durum Birimi, 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.

Atom Nedir?

Jotai'de durum atomlara ayrılır: bunlar küçük ve bağımsız tepkisel durum parçalarıdır. Her atom tek bir değer tutar ve bileşenlerin dışında atom(initialValue) ile oluşturulur.

Bu yaklaşım, tek bir büyük depo nesnesi yerine durumu anlamlı en küçük birimlere ayıran zihinsel modeli yansıtır.

Atomlar Reaktiftir

Bir atomun değeri değiştiğinde yalnızca o belirli atoma abone olan bileşenler yeniden oluşturulur. Başka atomları okuyan bileşenler etkilenmez.

Bu ayrıntılı tepkisellik, herhangi bir değişiklikte tüm tüketicileri yeniden oluşturan React Context'e kıyasla Jotai'nin temel avantajıdır.

Atomları Bileşenlerin Dışında Oluşturma

Atomları modül düzeyinde tanımlayın: const countAtom = atom(0). Böylece atom kimliği oluşturma işlemleri arasında kararlı kalır ve atom her bileşen bağlandığında yeniden oluşturulmaz.

Atomlar hafif referanslardır; kendi değerlerini tutmazlar. Değer Jotai deposunda bulunur.

Varsayılan Olarak Sağlayıcısız

Jotai, varsayılan olarak örtük bir genel depo kullanır. Atomları kullanmaya başlamak için uygulamanızı bir sağlayıcıyla sarmanız gerekmez; bu da mevcut projelerde benimsenmesini kolaylaştırır.

Atomlara, özellikleri aktarma zinciri veya bağlamı zincirleme aktarma gerekmeden ağaçtaki herhangi bir bileşenden genel olarak erişilebilir.

Kapsam Dâhilindeki Durum için Açık Sağlayıcı

Aynı bileşen ağacının birden çok bağımsız örneğine ihtiyacınız olduğunda (örneğin, her birinin kendi form durumu atomlarına sahip olduğu iki ayrı form), her birini bir Jotai sağlayıcısıyla sarın. Her sağlayıcı yalıtılmış bir depo oluşturur.

Bu yaklaşım, mikro ön yüz mimarileri veya bağımsız durum adalarına sahip karmaşık sayfa düzenleri için kullanışlıdır.

Genel Depo ve Kapsamı Sınırlı Depo

Genel depo, atomları uygulamanın yaşam süresi boyunca korur. Kapsamı sınırlı sağlayıcı deposu, sağlayıcı bileşen ağacından kaldırıldığında sıfırlanır; bu, genel olarak kalıcı olmaması gereken iletişim kutuları veya sayfa düzeyindeki durumlar için idealdir.

Sunucu tarafında oluşturma yalıtımı için sağlayıcıya özel bir depo örneği bile geçirebilirsiniz.

Jotai ve Zustand Karşılaştırması

Zustand, gereksiz yeniden oluşturma işlemlerini önlemek için seçiciler içeren tek bir depo nesnesi kullanır. Jotai durumu atomlara böler ve her bileşen yalnızca okuduğu atomlara abone olur.

Jotai, ayrıntılı kullanıcı arayüzü durumu (tek tek giriş değerleri, açma-kapama işaretleri) için daha doğaldır. Zustand ise daha büyük ve birbiriyle bağlantılı uygulama durumlarına uygundur.

Jotai ve React Context Karşılaştırması

React Context, bağlam değeri her değiştiğinde, tüketen bileşen bağlam nesnesindeki yalnızca bir alanla ilgilense bile her tüketici bileşeni yeniden oluşturur.

Jotai bu sorunu çözer: useAtom(nameAtom) kullanan bir bileşen yalnızca nameAtom değiştiğinde yeniden oluşturulur; başka herhangi bir atom değiştiğinde oluşturulmaz.

Atom Kimliği ve Eşitlik

Jotai, bir atomun değerinin değişip değişmediğini belirlemek için varsayılan olarak Object.is karşılaştırmasını kullanır. Bir atomu zaten tuttuğu değerin aynısına ayarlarsanız yeniden oluşturma tetiklenmez.

Karmaşık nesneler için, büyük bir atomdan kararlı bir ilkel değer türetmek ve ilgisiz alanlar değiştiğinde yeniden oluşturmayı önlemek üzere selectAtom yardımcı programını kullanın.

Atomlar ve useState

useState tek bir bileşenle sınırlıdır. Atomlar açıkça aktarılmaları gerekmeden tüm bileşen ağacı genelinde paylaşılır. İki kardeş bileşen aynı atomu okuduğunda otomatik olarak eşzamanlı kalırlar.

Bu, bileşenler arası paylaşım için durumu üst bileşene taşıma gereksinimini ortadan kaldırırken yeniden oluşturma işlemlerini en aza indirir.

Uygulamalı Atom Örnekleri

Yaygın atomlar şunlardır: const themeAtom = atom('light'), const cartItemsAtom = atom([]), const selectedUserIdAtom = atom(null). Bunlar bir kez tanımlanır ve uygulamanın herhangi bir yerinden içe aktarılır.

Her atom bağımsızdır: cartItemsAtom güncellendiğinde yalnızca themeAtom okuyan bileşenlerde yeniden oluşturma tetiklenmez.

Jotai ve Bağlamın Yeniden Oluşturma Davranışı

Yeniden oluşturma açısından Jotai, React Bağlamından nasıl farklıdır?

Ders Özeti

Atomlar, Jotai'deki durumun temel birimidir; bileşenlerin dışında atom(initialValue) ile oluşturulur ve varsayılan olarak bir Sağlayıcı olmadan ağaç genelinde paylaşılır. Bir atom değiştiğinde yalnızca ona abone olan bileşenler yeniden oluşturulur.

Bu ince taneli tepkisellik, Jotai'nin React Bağlamına göre temel avantajıdır ve atom başına abonelik modeli, Zustand'ın tek durum deposu yaklaşımından farklıdır.

Sıkça Sorulan Sorular

“Atomlar: Jotai'de Durum Birimi” dersi ücretsiz mi?

Evet — “Atomlar: Jotai'de Durum Birimi” 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.

“Atomlar: Jotai'de Durum Birimi” dersinde ne öğreneceğim?

atom() ile ilkel atomlar oluşturup Jotai'nin Sağlayıcısız tasarımının Context'ten nasıl farklı olduğunu anlayı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.

“Atomlar: Jotai'de Durum Birimi” 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. Atomlar: Jotai'de Durum Birimi
  2. useAtom ile Atomları Okuma ve Yazma
  3. Türetilmiş Atomlar ve Eş Zamanlı Olmayan Atomlar
  4. Jotai ve Zustand ile Context: Hangisi Ne Zaman Kullanılır
← React Academy Sayfasına Dön