Alle komponenter
MotionPager
Sveipbare sider fra data: introduksjon, karuseller og fanepaneler.
WebReact NativeUtvalg og sider
Prøv det
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
| Prop | Type | Standard | Beskrivelse |
|---|
items | readonly T[] | —påkrevd | Data-arrayen din. |
|---|
index | number | | Siden som vises. Utelat den for å la pageren holde styr på sin egen. |
|---|
defaultIndex | number | 0 | Startside når index ikke er kontrollert. |
|---|
onIndexChange | (index, item) => void | | Kjører med indeks og element så snart et sveip, en tast eller en hjulbevegelse lander. |
|---|
getKey | (item) => string | number | item.id | Returnerer en unik, stabil nøkkel for et element. Standard er item.id, eller selve elementet for strenger og tall. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Tegner en side; får indeksen og om den er aktiv. |
|---|
gap | number | 0 | Avstand mellom sider i piksler. |
|---|
itemClassName | string | | Klasse for hvert punkts element; itemStyle setter inline-stilen. |
|---|
transition | Transition | spring | En 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.