Deneyin
Örnek hazırlanıyor…
En kısa kullanım
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;Sizin yerinize hallettikleri
- Yeni öğeler sınırlı bir kademeyle girerken dokunulmamış öğeler yerinde kalır.
- Kaldırılan öğeler akıştan çıkar ve oldukları yerde canlanarak ayrılır; geri kalanlar boşluğa kayar.
- Yeniden sıralanan öğeler yeni konumlarına süzülür.
- Başka bir değişiklikle kesilen hareketler hızlarını korur.
present={false}her öğeyi canlanarak çıkarır,playKeyise girişi yeniden oynatır.
Şunlar için kullanın
- Bir yapılacaklar listesi.
- Filtrelenmiş arama sonuçları.
- Bir alışveriş sepeti.
Props
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
items | readonly T[] | —zorunlu | Veri diziniz. |
getKey | (item) => string | number | item.id | Bir öğe için benzersiz, kararlı bir key döndürür. Varsayılan item.id, dize ve sayılar için öğenin kendisidir. |
renderItem | (item, index) => ReactNode | item.label | Bir öğeyi çizer. |
as | element | 'div' | Render edilecek öğe. |
itemAs | element | 'li' | 'div' | Her öğenin elemanı. |
itemClassName | string | Her öğe elemanı için class; itemStyle satır içi stilini ayarlar. | |
effect | 'rise' | 'fade' | 'scale' | 'slide' | 'rise' | Öğelerin nasıl girip çıktığı. |
distance | number | 16 | rise ve slide için piksel cinsinden yol. |
stagger | number | 40 | Giren öğeler arasındaki milisaniye. |
order | 'forward' | 'reverse' | 'forward' | Kademenin yönü. |
present | boolean | true | false düzeni koruyarak her öğeyi canlanarak çıkarır; true onları geri getirir. |
initial | boolean | true | Liste bağlandığında girişi oynatır. |
playKey | string | number | Değiştirmek girişi yeniden oynatır. | |
transition | Transition | spring | Giren ve çıkan öğeler için geçiş. |
layoutTransition | Transition | spring | Yeni konumlara süzülen öğeler için geçiş. |
Diğer props render edilen öğeye gider; böylece className, style ve olay işleyiciler her zamanki gibi çalışır.
Web ve React Native
Her öğe bir sarmalayıcı eleman alır (ul ya da ol içinde li, aksi hâlde div; itemAs bunu değiştirir) ve itemClassName ile biçimlendirilir.
Key'ler benzersiz olmalıdır. Toplam yüksekliği de canlandırmak için listeyi MotionHeight ile sarın.
Bu örneklerde kullanıldı
- 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