Všechny komponenty

MotionPager

Stránky z dat k listování přejetím: onboarding, karusely a panely karet.

WebReact NativeVýběr a stránky

Vyzkoušejte

Příprava příkladu…

Nejkratší použití

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

Co za vás vyřeší

  • Stránky sledují přejetí i tažení myší, za okraji kladou odpor a usadí se podle rychlosti puštění.
  • Rychlé švihnutí vždy otočí stránku a jedno gesto nikdy neotočí víc než jednu.
  • Vodorovné posouvání touchpadem také otáčí stránky a jeho setrvačný dojezd se ignoruje.
  • Šipky, Home a End fungují, když má pager fokus, a svislé posouvání dál funguje.
  • Stránky jiné než aktivní jsou neaktivní.

Použijte pro

  • Onboarding.
  • Karusel fotek.
  • Panely karet k listování přejetím spárované s MotionHighlight.

Props

PropTypVýchozíPopis
itemsreadonly T[]—povinnéVaše pole dat.
indexnumberZobrazená stránka. Vynechte ji a pager si bude vlastní stránku držet sám.
defaultIndexnumber0Počáteční stránka, když index není řízený.
onIndexChange(index, item) => voidSpustí se s indexem a položkou, jakmile se přejetí, klávesa nebo gesto kolečka usadí.
getKey(item) => string | numberitem.idVrací jedinečný stabilní klíč položky. Ve výchozím stavu item.id, u řetězců a čísel samotnou položku.
renderItem(item, { index, active }) => ReactNodeitem.labelVykreslí stránku; dostane její index a to, zda je aktivní.
gapnumber0Mezera mezi stránkami v pixelech.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.

Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.

Web a React Native

index může být řízený (onIndexChange(index, item) hlásí každé usazení) nebo ho lze přenechat pageru přes defaultIndex.

Stejná komponenta i props fungují v React Native.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.