0Pricing
React Academy · Ders

use-gesture ile Hareket Tabanlı Animasyonlar

Sürükleme, sıkıştırma ve kaydırma ile yönlendirilen animasyonlar oluşturmak için react-spring'i @use-gesture/react ile birleştirin

use-gesture ile Hareket Tabanlı Animasyonlar, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. 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.

@use-gesture/react Genel Bakış

@use-gesture/react, react-spring ile sorunsuz çalışmak üzere tasarlanmış bir hareket tanıma kitaplığıdır. Akıcı ve fizik tabanlı etkileşimler için sürükleme, sıkıştırma, kaydırma, üzerine gelme, hareket ve tekerlek hareketlerini tanır ve doğrudan yay ayarlayıcılarına aktarabileceğiniz normalize edilmiş bir hareket durumu sağlar.

useDrag Hareket Durumu

useDrag kancası, her sürükleme olayında bir geri çağırma işlevi çalıştırır. Geri çağırma işlevi, şu temel özelliklere sahip bir hareket durumu nesnesi alır: yer değiştirme (sürüklemenin başlangıcından itibaren toplam yer değiştirme), hız (mevcut hız), yön (her eksen için 1 veya -1), ilk (sürükleme başladığında true) ve son (sürükleme bittiğinde true) ile olay (ham DOM olayı).

<code>bind()</code> İşlevi

Tüm use-gesture kancaları bir bind() işlevi döndürür. bind() işlevinin çağrılması, etkileşimli hâle getirmek istediğiniz öğeye yayacağınız olay işleyicisi özelliklerinden oluşan bir nesne döndürür (onPointerDown, onTouchStart vb.). Bu, hareket tanıyıcı ile DOM öğeniz arasındaki bağlantı noktasıdır.

useDrag ile react-spring'i Birleştirme

Standart yaklaşım şudur: zorunlu API ile bir yay oluşturun ([springs, api] = useSpring(...)), ardından her sürükleme olayında api.start({ x: movement[0], y: movement[1] }) çağrısını yapmak için useDrag kullanın. Yay, sürükleme hareketini akıcı biçimde takip ederek normalde katı imleç takibi olacak etkileşime doğal bir fizik hissi katar.

Bırakıldığında Geri Yaylanma

Bir sürükleme sona erdiğinde (hareket durumunda last: true), genellikle öğeyi başlangıç noktasına geri getirirsiniz. Bir if (last) denetiminin içinde api.start({ x: 0, y: 0 }) çağrısını yapın. react-spring, yay fiziğiyle öğeyi geri hareket ettirir; anında sıfırlamak yerine hafifçe zıplatır ve etkileşime tatmin edici bir fiziksel his kazandırır.

Hızla Fırlatma ve Savurma

Hareket durumundaki velocity değeri, fırlatma davranışını mümkün kılar. Kullanıcı yüksek hızla bıraktığında öğeyi geri getirmek yerine sürükleme yönünde savurabilirsiniz. if (last && velocity[0] > threshold) denetimini yapın, ardından öğeyi ekran dışındaki son konumuna hareket ettirin. Bu, kaydırarak kapatma etkileşimleri için gereklidir.

Sürükleme Sınırları ve Sınırlama

Sürükleme hareketini bir kapsayıcının içinde sınırlamak için hareket değerlerini yaya aktarmadan önce sınırlayın: x: Math.max(-maxX, Math.min(maxX, movement[0])). Alternatif olarak, hareket durumu değerlerini otomatik olarak sınırlamak için use-gesture'ın yerleşik bounds seçeneğini kullanabilirsiniz: useDrag(handler, { bounds: { left: -100, right: 100 } }).

Kaydırarak Kapatma Deseni

Mobil cihazlarda kaydırarak kapatma uygulaması için yatay hareketi izlemek üzere useDrag kullanın. Kullanıcı, eşik değerinin üzerinde bir hızla bırakırsa OR ekran genişliğinin yarısından daha fazla hareket etmişse kartı ekran dışına taşıyın (api.start({ x: window.innerWidth })) ve ardından listeden kaldırın. Aksi durumda kartı merkeze geri getirin.

Yakınlaştırma Etkileşimleri için usePinch

usePinch, dokunmatik ekranlarda iki parmakla yapılan sıkıştırma hareketlerini ve masaüstünde Ctrl+tekerlek hareketlerini tanır. Hareket durumu, scale (sıkıştırmanın başlangıcına göre mevcut yakınlaştırma düzeyi) ve origin (sıkıştırmanın merkez noktası) değerlerini içerir. Görüntülerde veya haritalarda akıcı ve sınırlandırılmış yakınlaştırma etkileşimleri oluşturmak için bir ölçeği izleyen yaya bağlayın.

useHover ve useMove

useHover, işaretçi bir öğeye girdiğinde veya öğeden ayrıldığında çalışır ve bir active boolean değeri sağlar. useMove, bir öğenin içindeki fare konumunu izleyerek normalize edilmiş koordinatlar sağlar. Her ikisi de imleç yaklaştıkça öğelerin imlece doğru hafifçe kaydığı mıknatıs etkili üzerine gelme efektleri için kullanışlıdır.

Birden Çok Hareketi Birleştirme

use-gesture kancaları birlikte birleştirilebilir. Aynı öğede hem useDrag hem de usePinch kullanabilirsiniz: const bindDrag = useDrag(...); const bindPinch = usePinch(...); ardından her iki bağlama işlevini de yayabilirsiniz: ...bindDrag() ...bindPinch(). use-gesture, hareket türleri arasındaki ayrımı otomatik olarak yapar.

<p>use-gesture kancalarının döndürdüğü <code>bind()</code> işlevi ne işe yarar?</p>

use-gesture kancaları tarafından döndürülen bind() işlevi ne yapar?

use-gesture Entegrasyonu Ders Özeti

@use-gesture/react, useDrag, usePinch, useScroll, useHover ve useMove özelliklerini sağlar. Her kanca, yayma sonucu hareket olaylarını DOM öğelerine bağlayan bir bind() işlevi döndürür. Hareket durumu; yer değiştirme, hız, yön, ilk ve son bilgilerini sağlar. Fizik tabanlı etkileşimli animasyonlar için bunu react-spring'in imperatif api.start() işleviyle birleştirin. Fırlatma ve kapatma için hızı, hareketi sınırlamak için de sınırları kullanın.

Sıkça Sorulan Sorular

“use-gesture ile Hareket Tabanlı Animasyonlar” dersi ücretsiz mi?

Evet — “use-gesture ile Hareket Tabanlı Animasyonlar” 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.

“use-gesture ile Hareket Tabanlı Animasyonlar” dersinde ne öğreneceğim?

Sürükleme, sıkıştırma ve kaydırma ile yönlendirilen animasyonlar oluşturmak için react-spring'i @use-gesture/react ile birleştirin 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 4. dersidir.

“use-gesture ile Hareket Tabanlı Animasyonlar” 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 Spring Temelleri: useSpring Kancası
  2. Canlandırılmış Bileşenler ve Stil Enterpolasyonu
  3. Diziler için useTrail ve useChain
  4. use-gesture ile Hareket Tabanlı Animasyonlar
← React Academy Sayfasına Dön