Alle componenten
MotionPager
Veegbare pagina's uit data: onboarding, carrousels en tabpanelen.
WebReact NativeSelectie en pagina's
Probeer het
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
| Prop | Type | Standaard | Beschrijving |
|---|
items | readonly T[] | —verplicht | Je data-array. |
|---|
index | number | | De getoonde pagina. Laat hem weg om de pager zijn eigen pagina te laten bijhouden. |
|---|
defaultIndex | number | 0 | Startpagina als index niet gecontroleerd is. |
|---|
onIndexChange | (index, item) => void | | Draait met de index en het item zodra een veeg, toets of wielgebaar tot rust komt. |
|---|
getKey | (item) => string | number | item.id | Geeft een unieke, stabiele key voor een item terug. Standaard item.id, of het item zelf bij strings en getallen. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Tekent een pagina; krijgt de index en of hij actief is. |
|---|
gap | number | 0 | Ruimte tussen pagina's in pixels. |
|---|
itemClassName | string | | Class voor elk item-element; itemStyle zet de inline style. |
|---|
transition | Transition | spring | Een 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.
Gebruikt in deze voorbeelden