Toate componentele

MotionPager

Pagini glisabile din date: onboarding, carusele și panouri de file.

WebReact NativeSelecție și paginare

Încercați

Se pregătește exemplul…

Cea mai scurtă utilizare

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

Ce rezolvă în locul dumneavoastră

  • Paginile urmează glisările și tragerile cu mouse-ul, opun rezistență după capete și se așază cu viteza eliberării.
  • O mișcare bruscă întoarce întotdeauna o pagină, iar un gest nu întoarce niciodată mai mult de una.
  • Și derularea orizontală pe trackpad întoarce pagini, iar coada ei de inerție este ignorată.
  • Tastele săgeți, Home și End funcționează când pagerul are focus, iar derularea verticală continuă să meargă.
  • Paginile în afara celei active sunt inerte.

Folosiți-o pentru

  • Un flux de onboarding.
  • Un carusel de fotografii.
  • Panouri de file glisabile, în pereche cu MotionHighlight.

Props

PropTipImplicitDescriere
itemsreadonly T[]—obligatoriuTabloul cu datele dumneavoastră.
indexnumberPagina afișată. Omiteți-o ca pagerul să și-o gestioneze singur.
defaultIndexnumber0Pagina de start când index nu este controlat.
onIndexChange(index, item) => voidRulează cu indexul și elementul imediat ce se așază o glisare, o tastă sau un gest de rotiță.
getKey(item) => string | numberitem.idReturnează un key unic și stabil pentru un element. Implicit item.id sau elementul însuși pentru șiruri și numere.
renderItem(item, { index, active }) => ReactNodeitem.labelDesenează o pagină; primește indexul și dacă este activă.
gapnumber0Spațiul dintre pagini, în pixeli.
itemClassNamestringClasă pentru fiecare element din listă; itemStyle îi setează stilul inline.
transitionTransitionspringO curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte.

Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.

Web și React Native

index poate fi controlat (onIndexChange(index, item) raportează fiecare așezare) sau lăsat pagerului cu defaultIndex.

Aceeași componentă și aceleași props funcționează în React Native.

Folosită în aceste exemple

Căutare

Tastați pentru a căuta în documentație.