Semua komponen
MotionPager
Halaman yang bisa digeser dari data: onboarding, carousel, dan panel tab.
WebReact NativePilihan dan halaman
Coba
Penggunaan terpendek
Onboarding.jsx<MotionPager
items={slides}
index={page}
onIndexChange={setPage}
gap={16}
renderItem={(slide) => <Slide slide={slide} />}
/>;
Yang ditanganinya untuk Anda
- Halaman mengikuti geseran dan seretan mouse, menahan di luar ujung, dan berhenti sesuai kecepatan lepasan Anda.
- Jentikan selalu membalik satu halaman, dan satu gestur tidak pernah membalik lebih dari satu.
- Gulir trackpad horizontal juga membalik halaman, dan ekor momentumnya diabaikan.
- Tombol panah, Home, dan End bekerja saat pager difokuskan, dan gulir vertikal tetap berfungsi.
- Halaman selain yang aktif bersifat inert.
Gunakan untuk
- Alur onboarding.
- Carousel foto.
- Panel tab yang bisa digeser, dipasangkan dengan
MotionHighlight.
Props
| Prop | Tipe | Bawaan | Deskripsi |
|---|
items | readonly T[] | —wajib | Array data Anda. |
|---|
index | number | | Halaman yang ditampilkan. Kosongkan agar pager mengelolanya sendiri. |
|---|
defaultIndex | number | 0 | Halaman awal saat index tidak dikendalikan. |
|---|
onIndexChange | (index, item) => void | | Berjalan dengan index dan item begitu geseran, tombol, atau gestur roda berhenti. |
|---|
getKey | (item) => string | number | item.id | Mengembalikan key yang unik dan stabil untuk sebuah item. Bawaannya item.id, atau item itu sendiri untuk string dan angka. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Menggambar halaman; menerima index-nya dan apakah halaman itu aktif. |
|---|
gap | number | 0 | Jarak antarhalaman dalam piksel. |
|---|
itemClassName | string | | Class untuk setiap elemen item; itemStyle mengatur gaya inline-nya. |
|---|
transition | Transition | spring | Kurva timing { duration, easing } atau pegas { tempo: 'spring', spring }. Pegas mempertahankan momentumnya saat diinterupsi. |
|---|
Semua props lain diteruskan ke elemen yang dirender, jadi className, style, dan event handler bekerja seperti biasa.
Dipakai di contoh-contoh ini