Alla komponenter

MotionPager

Svepbara sidor från data: introduktion, karuseller och flikpaneler.

WebbReact NativeUrval och sidor

Prova

Förbereder exemplet…

Kortaste användning

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

Det här sköter den åt dig

  • Sidorna följer svep och musdragningar, gör motstånd förbi ändarna och landar med din släpphastighet.
  • En snabb snärt byter alltid sida, och en gest byter aldrig mer än en.
  • Horisontell scrollning med styrplatta byter också sida, och dess momentumsvans ignoreras.
  • Piltangenter, Home och End fungerar när pagern har fokus, och vertikal scrollning fungerar fortfarande.
  • Andra sidor än den aktiva är inerta.

Använd den för

  • Ett introduktionsflöde.
  • En fotokarusell.
  • Svepbara flikpaneler ihop med MotionHighlight.

Props

PropTypStandardBeskrivning
itemsreadonly T[]—krävsDin dataarray.
indexnumberSidan som visas. Utelämna den för att låta pagern hålla reda på sin egen.
defaultIndexnumber0Startsida när index inte är kontrollerat.
onIndexChange(index, item) => voidKörs med index och objekt så fort ett svep, en tangent eller en hjulgest landar.
getKey(item) => string | numberitem.idReturnerar en unik, stabil nyckel för ett objekt. Standard är item.id, eller själva objektet för strängar och tal.
renderItem(item, { index, active }) => ReactNodeitem.labelRitar en sida; får dess index och om den är aktiv.
gapnumber0Avstånd mellan sidor i pixlar.
itemClassNamestringKlass för varje objektelement; itemStyle sätter dess inline-style.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.

Andra props går till det renderade elementet, så className, style och händelsehanterare fungerar som vanligt.

Webb och React Native

index kan vara kontrollerat (onIndexChange(index, item) rapporterar varje landning) eller lämnas till pagern med defaultIndex.

Samma komponent och props fungerar i React Native.

Används i de här exemplen

Sök

Skriv för att söka i dokumentationen.