React · React Native · 16 bileşen
Zor etkileşimler, hazır.
Animated Chorus, elle doğru yapması zor etkileşimler için bir hareket bileşenleri setidir: dönen sayılar, akan metin, boyut değiştiren geçişler, sheet'ler, sayfa çeviriciler, kaydırma eylemleri ve yalnızca değişeni canlandıran listeler. Tek etiket ve verileriniz. Provider yok, kurulum yok.
npm install @kkwaenggwari/animated-chorusBu sürümde ölçüldü
Chrome, 2026-09-28. Tüm koşullar ve örnekler performans kılavuzunda. Nasıl ölçüldü
- 28.0KB16 export'un tamamı için KB gzip
Web giriş noktasının tamamı, küçültülmüş. Tek peer React.
- 0Animasyon sırasında JS kare callback'leri
Bir sayı, bir yükseklik ve bir vurgu birlikte değişir: tarayıcı 12 animasyonun hepsini oynatır.
- 1Değer değişikliği başına React commit'i
MotionNumberdeğer değiştiğinde render edilir, dönerken asla. - 11Akan 3000 karakter için React commit'leri
MotionStreamkarakterleri doğrudan ekler ve saniyede birkaç kez React'e katar.
01En kolay
Tek etiket ve verileriniz
Her bileşen kendi başına çalışır: provider, sarmalayıcı bileşen ya da kurulum çağrısı yok. Koleksiyonlar items ve renderItem alır; düzeniniz, metniniz ve stilleriniz size ait kalır.
- Tek bir bileşen import edin ve bir değer verin. Tüm entegrasyon bu kadar.
- Listeler, sekmeler ve sayfa çeviriciler dizinizi okur; key varsayılan olarak
item.id'dir. - Metin gerçek metin olarak kalır: satır kaydırır, yazı tipiyle ölçeklenir ve seçilebilir.
<MotionNumber value={total} />;<MotionSwap value={status}>{label}</MotionSwap>;<MotionHeight open={open}>{details}</MotionHeight>;<MotionHighlight items={tabs} value={tab} onValueChange={setTab} />;<MotionList items={tasks} renderItem={(task) => task.title} />;<ProgressRing value={progress} />;
Altı canlı bileşen ve her birinin arkasındaki tek satır kod.
Örnek hazırlanıyor…
02En hızlı
Tarayıcı oynatır. React kıpırdamaz.
Web'de yüklenecek bir animasyon kütüphanesi yok: bileşenler hareketlerini Web Animations API'ye devreder; dönen bir sayı ya da boyutu değişen bir panel hareket ederken kare başına JavaScript ve React render'ı harcamaz.
- 12 animasyon birlikte çalışırken 0 JS kare callback'i.
- Değer değişikliği başına bir React commit'i, kare başına değil.
- Akan metin: 3000 karakter için 11 React commit'i. Aşağıdaki örnek kendi render'larını sayar.
Örnek hazırlanıyor…
03En kararlı
Her şeyi kesin. Asla sıçramaz.
Her yeni değer ekranda olandan başlar ve yaylar hızlarını korur; hızlı tıklamalar, veri patlamaları ve yön değişiklikleri kasıtlı görünür. Hareket bitince hiçbir şey çalışır hâlde kalmaz.
- Sayılar asla bölünmez: kalan basamaklar dönerken kayar.
- 5 ms arayla 200 yeni değer: ardından 0 animasyon kalır ve son metin tam doğrudur.
- React StrictMode altında güvenli. Arka plandaki bir React Native uygulamasında hareket bitiş durumuna yerleşir.
Örnek hazırlanıyor…
Yaptıkları işe göre gruplanmış 16 bileşen
Sayılar ve metin, boyutu değişen içerik, seçim, listeler, hareketler, katmanlar ve ilerleme. Her birinin yanında props'uyla canlı bir çalışma tezgâhı var.
Tüm bileşenlerSayılar ve metin
İçerik ve boyut
Seçim ve sayfalama
Listeler
Hareketler
Katmanlar
İlerleme
Bir araya getirildi
Birkaç bileşeni birleştiren eksiksiz ekranlar; her birinin ayarları örneğin dışında.
Tüm örnekler- Sohbet yanıtıKatlanan öneriler, sabit hızla akan bir yanıt ve değişen bir durum satırı.
MotionStreamMotionListMotionSwapMotionHeight - Ödeme özetiSepet değiştikçe adetler, satır toplamları ve genel toplam döner; kupon bildirimi girip çıkar; ödeme bilinçli bir basılı tutma gerektirir.
MotionListMotionNumberMotionPresenceMotionHold - Gelen kutusuCanlı sayılı filtre sekmeleri, kaydırarak atılabilen satırlar ve boşluğu kapatan bir liste.
MotionHighlightMotionListMotionSwipeMotionNumber - Fotoğraf akışıFotoğraflar arasında kaydırın, küçük resimlerle atlayın, herhangi bir fotoğrafı tam ekran açın ve ayrıntılarını yukarı çekin.
MotionPagerMotionHighlightMotionZoomMotionSheet
Web'de ve React Native'de aynı import
Metro native uygulamayı, web paketleyicileri ise DOM olanı seçer. Her platform hareketi en iyi oynattığı şekilde oynatır.
// Web and React Native: the same import.
import { MotionNumber, MotionList } from '@kkwaenggwari/animated-chorus';
export function Score({ points, players }) {
return (
<>
<MotionNumber value={points} />
<MotionList items={players} renderItem={(player) => player.name} />
</>
);
}| Kısım | Web | React Native |
|---|---|---|
| Transform'lar ve opaklık | Web Animations API, yaylar analitik örneklenir | Native driver ile Animated |
| Genişlik ve yükseklik | Web Animations API | JS driver ile Animated, çünkü bu bir düzen |
| Akan metin | Karakterler eklenir ve belirir; saniyede birkaç React render'ı | Gerçek bir Text, solma olmadan gösterilir |
| Sheet'ler ve yakınlaştırma | Üst katmanda native bir dialog | Şeffaf bir Modal; geri düğmesi onu kapatır |
İki dakikada başlayın
Kurun, tek bileşen import edin, bir değer verin.
npm install @kkwaenggwari/animated-chorus