Wszystkie komponenty

MotionPager

Strony z danych przewijane gestem: onboarding, karuzele i panele kart.

SiećReact NativeWybór i strony

Wypróbuj

Przygotowywanie przykładu…

Najkrótsze użycie

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

Co robi za ciebie

  • Strony podążają za przesunięciami i przeciąganiem myszą, stawiają opór za krańcami i układają się z prędkością twojego puszczenia.
  • Szybkie machnięcie zawsze zmienia stronę, a jeden gest nigdy nie zmienia więcej niż jednej.
  • Poziome przewijanie touchpadem też zmienia strony, a jego bezwładny ogon jest ignorowany.
  • Strzałki, Home i End działają, gdy pager ma fokus, a przewijanie w pionie działa dalej.
  • Strony inne niż aktywna są nieaktywne.

Do czego służy

  • Proces onboardingu.
  • Karuzela zdjęć.
  • Panele kart przewijane gestem w parze z MotionHighlight.

Props

PropTypDomyślnieOpis
itemsreadonly T[]—wymaganeTwoja tablica danych.
indexnumberPokazywana strona. Pomiń ją, by pager zarządzał własną.
defaultIndexnumber0Strona początkowa, gdy index nie jest kontrolowany.
onIndexChange(index, item) => voidUruchamia się z indeksem i elementem, gdy tylko przesunięcie, klawisz lub gest kółka się ułoży.
getKey(item) => string | numberitem.idZwraca unikalny, stabilny klucz elementu. Domyślnie item.id, a dla ciągów i liczb sam element.
renderItem(item, { index, active }) => ReactNodeitem.labelRysuje stronę; dostaje jej indeks i informację, czy jest aktywna.
gapnumber0Odstęp między stronami w pikselach.
itemClassNamestringKlasa dla elementu każdej pozycji; itemStyle ustawia jego styl inline.
transitionTransitionspringKrzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu.

Pozostałe props trafiają do renderowanego elementu, więc className, style i obsługa zdarzeń działają jak zwykle.

Sieć i React Native

index może być kontrolowany (onIndexChange(index, item) raportuje każde ułożenie) lub zostawiony pagerowi przez defaultIndex.

Ten sam komponent i te same props działają w React Native.

Użyty w tych przykładach

Szukaj

Zacznij pisać, aby przeszukać dokumentację.