0Pricing
React Academy · Ders

React Durum Değişiklikleriyle CSS Geçişleri

React durumuyla sınıf adlarını değiştirerek CSS geçişlerini tetikleyin: opaklık, dönüşüm ve renk geçişleri.

React Durum Değişiklikleriyle CSS Geçişleri, 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.

CSS Geçişi Nedir

Bir CSS transition özelliği, bir özelliği iki değer arasında zaman içinde yumuşak biçimde ara değerleyerek değiştirir; değişim aniden gerçekleşmez. Bu özelliği, öğe üzerinde transition: property duration timing-function delay bildirimiyle tanımlarsınız.

React'te satır içi değerleri genellikle elle canlandırmazsınız. Bunun yerine durumla bir sınıfı veya stili değiştirirsiniz; aradaki kareleri CSS sizin için yönetir.

Sınıfı Değiştirerek Geçişi Tetikleme

Yaygın yaklaşım, useState içinde bir Boole değeri tutmak ve bu değer değiştiğinde bir CSS sınıfını değiştirmektir. Sınıf değiştiğinde hedef özellik yeni bir değer alır ve CSS aradaki farkı canlandırır.

Örneğin isOpen, öğenin open sınıfına sahip olup olmadığını belirler; open sınıfı da farklı bir yükseklik veya dönüşüm belirler.

Boole isVisible Durumu

Tipik bir kurulum şöyledir: const [isVisible, setIsVisible] = useState(false). Bir düğme, durumu değiştirmek için setIsVisible(v => !v) çağrısını yapar.

İşlevsel güncelleyici olan v => !v ifadesini kullanmak, birkaç güncelleme aynı anda kuyruğa alındığında güncel olmayan durumun kullanılmasını önler ve değiştirmenin güvenilir kalmasını sağlar.

Şablon Dizeleriyle Koşullu Sınıf

Sınıf adını dinamik olarak oluşturursunuz: className={'panel ' + (isVisible ? 'panel--shown' : 'panel--hidden')}. Temel sınıf geçiş bildirimini içerir; değiştirici sınıflar ise başlangıç ve bitiş değerlerini içerir.

transition bildirimini her zaman bulunan temel sınıfta tutmak, animasyonun açılma ve kapanma olmak üzere her iki yönde de çalışmasını sağlar.

transform ve opacity'yi Birlikte Geçirme

Birden çok özelliği aynı anda, bunları listeleyerek canlandırabilirsiniz: transition: transform 300ms ease, opacity 300ms ease. Solma ve kayma etkisi, opacity değişimini transform üzerindeki bir translateY değişimiyle birleştirir.

Her ikisini birlikte canlandırmak, öğenin yukarı doğru kayarken aynı zamanda görünür hâle geldiği özenli bir giriş sağlar.

transition-delay ile Kademelendirme

transition-delay, bir geçişin başlangıcını erteler. Liste öğelerine giderek artan gecikmeler vererek her öğenin bir öncekinden biraz sonra canlandığı kademeli bir akış oluşturabilirsiniz.

React'te gecikmeyi satır içinde hesaplayabilirsiniz; örneğin style={{ transitionDelay: index * 50 + 'ms' }}.

display Neden Geçişe Uygun Değildir

display özelliği canlandırılamaz; çünkü none ile block arasında ara değerleri yoktur. Bu özelliğe geçiş uygulamak solma yerine anlık bir sıçrama oluşturur.

Bunun yerine görsel solma için opacity özelliğini canlandırın ve gizli öğenin görünmezken tıklamaları yok sayması için işaretçi olaylarını devre dışı bırakın: pointer-events: none.

Zamanlama İşlevleri

Zamanlama işlevi, hızın süre boyunca nasıl değişeceğini biçimlendirir. linear sabit hızda ilerler, ease yavaş başlayıp yavaş biter ve cubic-bezier(...) tamamen özel bir eğri tanımlamanızı sağlar.

Özel eğriler hızlı veya esnek hisler oluşturmak için harikadır; örneğin cubic-bezier(0.34, 1.56, 0.64, 1) hafif bir aşım sağlar.

Süre için CSS Değişkenleri

Süreleri --speed: 300ms gibi CSS özel özelliklerinde saklayıp yeniden kullanabilirsiniz: transition: opacity var(--speed) ease. Bu, bileşenler arasındaki zamanlamayı tutarlı tutar.

React, değişkeni style={{ '--speed': '500ms' }} aracılığıyla satır içinde bile ayarlayabilir; böylece özellikler animasyon zamanlamasını belirleyebilir.

Performans için transform ve opacity'yi Tercih Edin

Tarayıcılar transform ve opacity özelliklerini düzeni yeniden hesaplamadan veya yeniden boyamadan GPU birleştiricisi üzerinde canlandırabilir. width, top veya margin gibi özellikleri canlandırmak her karede düzen çalışması gerektirir ve takılmalara yol açabilir.

Taşımanız, ölçeklemeniz veya döndürmeniz gerektiğinde transform özelliğini; solma efekti gerektiğinde opacity özelliğini tercih edin.

Hepsini Bir Araya Getirme

React'te güvenilir bir geçiş; Boole durumunu, koşullu bir değiştirici sınıfı ve GPU açısından verimli özelliklerde transition bildiren bir temel sınıfı birleştirir. Durum sınıfı değiştirir, canlandırmayı ise CSS gerçekleştirir.

Bu yaklaşım, bileşenlerinizi bildirimsel tutarken akıcı hareket üretmek için tarayıcıdan yararlanmanızı sağlar.

Hızlı Kontrol

Performanslı animasyon konusundaki anlayışınızı sınayın.

Özet

Durumla yönetilen sınıfları değiştirerek CSS geçişlerini tetiklemeyi, transform ve opacity'yi birlikte canlandırmayı, gecikmelerle kademelendirme yapmayı ve opacity ile işaretçi olaylarını kullanarak display geçişinden kaçınmayı öğrendiniz.

Ayrıca zamanlama işlevlerini, CSS değişkenleriyle tanımlanan süreleri ve GPU tarafından birleştirilen özelliklerin hareketi neden akıcı tuttuğunu gördünüz.

Sıkça Sorulan Sorular

“React Durum Değişiklikleriyle CSS Geçişleri” dersi ücretsiz mi?

Evet — “React Durum Değişiklikleriyle CSS Geçişleri” 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.

“React Durum Değişiklikleriyle CSS Geçişleri” dersinde ne öğreneceğim?

React durumuyla sınıf adlarını değiştirerek CSS geçişlerini tetikleyin: opaklık, dönüşüm ve renk geçişleri. 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.

“React Durum Değişiklikleriyle CSS Geçişleri” 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. React Durum Değişiklikleriyle CSS Geçişleri
  2. React ile CSS Kare Animasyonları
  3. Animasyon Öncesi Ölçümler için useLayoutEffect
  4. Kütüphane Olmadan Giriş ve Çıkış Animasyonları
← React Academy Sayfasına Dön