Toate componentele
MotionPager
Pagini glisabile din date: onboarding, carusele și panouri de file.
WebReact NativeSelecție și paginare
Încercați
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
| Prop | Tip | Implicit | Descriere |
|---|
items | readonly T[] | —obligatoriu | Tabloul cu datele dumneavoastră. |
|---|
index | number | | Pagina afișată. Omiteți-o ca pagerul să și-o gestioneze singur. |
|---|
defaultIndex | number | 0 | Pagina de start când index nu este controlat. |
|---|
onIndexChange | (index, item) => void | | Rulează cu indexul și elementul imediat ce se așază o glisare, o tastă sau un gest de rotiță. |
|---|
getKey | (item) => string | number | item.id | Returnează un key unic și stabil pentru un element. Implicit item.id sau elementul însuși pentru șiruri și numere. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Desenează o pagină; primește indexul și dacă este activă. |
|---|
gap | number | 0 | Spațiul dintre pagini, în pixeli. |
|---|
itemClassName | string | | Clasă pentru fiecare element din listă; itemStyle îi setează stilul inline. |
|---|
transition | Transition | spring | O 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.
Folosită în aceste exemple