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

PropTypStandardBeschreibung
itemsreadonly T[]—erforderlichDein Daten-Array.
indexnumberDie angezeigte Seite. Weglassen, damit der Pager seine eigene verwaltet.
defaultIndexnumber0Startseite, wenn index nicht kontrolliert wird.
onIndexChange(index, item) => voidLäuft mit Index und Element, sobald eine Wisch-, Tasten- oder Mausradgeste einrastet.
getKey(item) => string | numberitem.idGibt 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 }) => ReactNodeitem.labelZeichnet eine Seite; erhält ihren Index und ob sie aktiv ist.
gapnumber0Abstand zwischen Seiten in Pixeln.
itemClassNamestringKlasse für jedes Eintragselement; itemStyle setzt seinen Inline-Style.
transitionTransitionspringEine 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.

Web und React Native

index kann kontrolliert werden (onIndexChange(index, item) meldet jedes Einrasten) oder mit defaultIndex dem Pager überlassen werden.

Dieselbe Komponente und dieselben props funktionieren unter React Native.

Verwendet in diesen Beispielen

Suchen

Tippe, um die Dokumentation zu durchsuchen.