Alle komponenter

MotionPager

Sveipbare sider fra data: introduksjon, karuseller og fanepaneler.

WebReact NativeUtvalg og sider

Prøv det

Forbereder eksempelet …

Korteste bruk

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

Dette tar den seg av

  • Sidene følger sveip og musedrag, gjør motstand forbi endene og lander med slipphastigheten din.
  • Et raskt snert bytter alltid side, og én bevegelse bytter aldri mer enn én.
  • Vannrett rulling med styreplate bytter også side, og momentumhalen ignoreres.
  • Piltaster, Home og End fungerer når pageren har fokus, og loddrett rulling fungerer fortsatt.
  • Andre sider enn den aktive er inerte.

Bruk den til

  • En introduksjonsflyt.
  • En bildekarusell.
  • Sveipbare fanepaneler sammen med MotionHighlight.

Props

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrevdData-arrayen din.
indexnumberSiden som vises. Utelat den for å la pageren holde styr på sin egen.
defaultIndexnumber0Startside når index ikke er kontrollert.
onIndexChange(index, item) => voidKjører med indeks og element så snart et sveip, en tast eller en hjulbevegelse lander.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøkkel for et element. Standard er item.id, eller selve elementet for strenger og tall.
renderItem(item, { index, active }) => ReactNodeitem.labelTegner en side; får indeksen og om den er aktiv.
gapnumber0Avstand mellom sider i piksler.
itemClassNamestringKlasse for hvert punkts element; itemStyle setter inline-stilen.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjær { tempo: 'spring', spring }. Fjærer beholder momentet når de avbrytes.

Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.

Web og React Native

index kan være kontrollert (onIndexChange(index, item) melder hver landing) eller overlates til pageren med defaultIndex.

Den samme komponenten og de samme props fungerer i React Native.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.