Усі компоненти

MotionPager

Сторінки з даних, що гортаються: онбординг, каруселі й панелі вкладок.

ВебReact NativeВибір і сторінки

Спробуйте

Підготовка прикладу…

Найкоротше використання

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

Що він бере на себе

  • Сторінки йдуть за свайпами й перетягуванням мишею, чинять опір за краями й зупиняються з урахуванням швидкості відпускання.
  • Різкий змах завжди гортає сторінку, а один жест ніколи не гортає більше однієї.
  • Горизонтальне прокручування тачпадом теж гортає сторінки, а його інерційний хвіст ігнорується.
  • Стрілки, Home і End працюють, коли пейджер у фокусі, а вертикальне прокручування далі працює.
  • Усі сторінки, крім активної, неактивні.

Для чого підходить

  • Онбординг.
  • Карусель фотографій.
  • Панелі вкладок, що гортаються, у парі з MotionHighlight.

Props

ПропТипТиповоОпис
itemsreadonly T[]—обов’язковоВаш масив даних.
indexnumberПоказана сторінка. Не задавайте її, щоб пейджер керував нею сам.
defaultIndexnumber0Початкова сторінка, коли index не керований.
onIndexChange(index, item) => voidВиконується з індексом і елементом, щойно свайп, клавіша чи жест коліщатка завершилися.
getKey(item) => string | numberitem.idПовертає унікальний стабільний ключ елемента. Типово — item.id, а для рядків і чисел — сам елемент.
renderItem(item, { index, active }) => ReactNodeitem.labelМалює сторінку; отримує її індекс і те, чи вона активна.
gapnumber0Відстань між сторінками в пікселях.
itemClassNamestringКлас для елемента кожного пункту; itemStyle задає його вбудований стиль.
transitionTransitionspringКрива timing { duration, easing } чи пружина { tempo: 'spring', spring }. Після переривання пружини зберігають інерцію.

Решта props передається відрендереному елементу, тож className, style і обробники подій працюють як завжди.

Веб і React Native

index може бути керованим (onIndexChange(index, item) повідомляє про кожну зупинку) або залишеним пейджеру через defaultIndex.

Той самий компонент і ті самі props працюють у React Native.

Використовується в прикладах

Пошук

Почніть вводити, щоб шукати в документації.