Semua komponen

MotionList

Daftar dari data yang hanya menganimasikan yang berubah.

WebReact NativeDaftar

Coba

Menyiapkan contoh…

Penggunaan terpendek

Todos.jsx
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;

Yang ditanganinya untuk Anda

  • Item baru masuk dengan kaskade terbatas sementara item yang tak tersentuh tetap diam.
  • Item yang dihapus keluar dari alur dan beranimasi keluar di tempatnya sementara sisanya bergeser mengisi celah.
  • Item yang diurutkan ulang meluncur ke posisi barunya.
  • Gerakan yang diinterupsi perubahan lain mempertahankan kecepatannya.
  • present={false} menganimasikan setiap item keluar, dan playKey memutar ulang animasi masuk.

Gunakan untuk

  • Daftar tugas.
  • Hasil pencarian yang difilter.
  • Keranjang belanja.

Props

PropTipeBawaanDeskripsi
itemsreadonly T[]—wajibArray data Anda.
getKey(item) => string | numberitem.idMengembalikan key yang unik dan stabil untuk sebuah item. Bawaannya item.id, atau item itu sendiri untuk string dan angka.
renderItem(item, index) => ReactNodeitem.labelMenggambar item.
aselement'div'Elemen yang dirender.
itemAselement'li' | 'div'Elemen untuk setiap item.
itemClassNamestringClass untuk setiap elemen item; itemStyle mengatur gaya inline-nya.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Cara item masuk dan pergi.
distancenumber16Jarak tempuh rise dan slide dalam piksel.
staggernumber40Milidetik antar item yang masuk.
order'forward' | 'reverse''forward'Arah kaskade.
presentbooleantruefalse menganimasikan setiap item keluar sambil mempertahankan tata letak; true mengembalikannya.
initialbooleantruePutar animasi masuk saat daftar terpasang.
playKeystring | numberMengubahnya memutar ulang animasi masuk.
transitionTransitionspringTransisi untuk item yang masuk dan pergi.
layoutTransitionTransitionspringTransisi untuk item yang meluncur ke posisi baru.

Semua props lain diteruskan ke elemen yang dirender, jadi className, style, dan event handler bekerja seperti biasa.

Web dan React Native

Setiap item mendapat elemen pembungkus (li di dalam ul atau ol, selain itu div; itemAs mengubahnya) yang diberi gaya dengan itemClassName.

Key harus unik. Bungkus daftar dengan MotionHeight untuk menganimasikan tinggi totalnya juga.

Dipakai di contoh-contoh ini

Cari

Ketik untuk mencari dokumentasi.