Alle componenten

MotionPager

Veegbare pagina's uit data: onboarding, carrousels en tabpanelen.

WebReact NativeSelectie en pagina's

Probeer het

Voorbeeld voorbereiden…

Kortste gebruik

Onboarding.jsx
<MotionPager
  items={slides}
  index={page}
  onIndexChange={setPage}
  gap={16}
  renderItem={(slide) => <Slide slide={slide} />}
/>;

Wat het voor je regelt

  • Pagina's volgen vegen en muissleepbewegingen, bieden weerstand voorbij de uiteinden en komen tot rust met je loslaatsnelheid.
  • Een snelle zwiep slaat altijd een pagina om, en één gebaar slaat er nooit meer dan één om.
  • Horizontaal scrollen met een trackpad slaat ook pagina's om, en de uitloop van het momentum wordt genegeerd.
  • Pijltjestoetsen, Home en End werken als de pager focus heeft, en verticaal scrollen blijft werken.
  • Andere pagina's dan de actieve zijn inert.

Gebruik het voor

  • Een onboardingflow.
  • Een fotocarrousel.
  • Veegbare tabpanelen gekoppeld aan MotionHighlight.

Props

PropTypeStandaardBeschrijving
itemsreadonly T[]—verplichtJe data-array.
indexnumberDe getoonde pagina. Laat hem weg om de pager zijn eigen pagina te laten bijhouden.
defaultIndexnumber0Startpagina als index niet gecontroleerd is.
onIndexChange(index, item) => voidDraait met de index en het item zodra een veeg, toets of wielgebaar tot rust komt.
getKey(item) => string | numberitem.idGeeft een unieke, stabiele key voor een item terug. Standaard item.id, of het item zelf bij strings en getallen.
renderItem(item, { index, active }) => ReactNodeitem.labelTekent een pagina; krijgt de index en of hij actief is.
gapnumber0Ruimte tussen pagina's in pixels.
itemClassNamestringClass voor elk item-element; itemStyle zet de inline style.
transitionTransitionspringEen timingcurve { duration, easing } of een veer { tempo: 'spring', spring }. Veren behouden hun momentum als ze worden onderbroken.

Andere props gaan naar het gerenderde element, dus className, style en event handlers werken zoals gewoonlijk.

Web en React Native

index kan gecontroleerd zijn (onIndexChange(index, item) meldt elke stop) of aan de pager worden overgelaten met defaultIndex.

Hetzelfde component en dezelfde props werken in React Native.

Gebruikt in deze voorbeelden

Zoeken

Typ om de documentatie te doorzoeken.