Alle Komponenten
MotionPager
Wischbare Seiten aus Daten: Onboarding, Karussells und Tab-Panels.
WebReact NativeAuswahl und Blättern
Ausprobieren
Beispiel wird vorbereitet…
Kürzeste Nutzung
Onboarding.jsx<MotionPager
items={slides}
index={page}
onIndexChange={setPage}
gap={16}
renderItem={(slide) => <Slide slide={slide} />}
/>;
Was sie dir abnimmt
- Seiten folgen Wischgesten und Mausziehen, bieten an den Enden Widerstand und kommen mit deinem Loslass-Tempo zur Ruhe.
- Ein Flick blättert immer eine Seite um, und eine Geste blättert nie mehr als eine.
- Horizontales Scrollen mit dem Trackpad blättert ebenfalls, und sein Schwung-Nachlauf wird ignoriert.
- Pfeiltasten, Pos1 und Ende funktionieren, wenn der Pager fokussiert ist, und vertikales Scrollen funktioniert weiter.
- Seiten außer der aktiven sind inaktiv.
Gut für
- Ein Onboarding-Ablauf.
- Ein Foto-Karussell.
- Wischbare Tab-Panels zusammen mit
MotionHighlight.
props
| Prop | Typ | Standard | Beschreibung |
|---|
items | readonly T[] | —erforderlich | Dein Daten-Array. |
|---|
index | number | | Die angezeigte Seite. Weglassen, damit der Pager seine eigene verwaltet. |
|---|
defaultIndex | number | 0 | Startseite, wenn index nicht kontrolliert wird. |
|---|
onIndexChange | (index, item) => void | | Läuft mit Index und Element, sobald eine Wisch-, Tasten- oder Mausradgeste einrastet. |
|---|
getKey | (item) => string | number | item.id | Gibt einen eindeutigen, stabilen Key für ein Element zurück. Standard ist item.id oder bei Strings und Zahlen das Element selbst. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Zeichnet eine Seite; erhält ihren Index und ob sie aktiv ist. |
|---|
gap | number | 0 | Abstand zwischen Seiten in Pixeln. |
|---|
itemClassName | string | | Klasse für jedes Eintragselement; itemStyle setzt seinen Inline-Style. |
|---|
transition | Transition | spring | Eine Timing-Kurve { duration, easing } oder eine Feder { tempo: 'spring', spring }. Federn behalten bei Unterbrechung ihren Schwung. |
|---|
Weitere props gehen an das gerenderte Element, also funktionieren className, style und Event-Handler wie gewohnt.
Verwendet in diesen Beispielen