Усі компоненти
MotionPager
Сторінки з даних, що гортаються: онбординг, каруселі й панелі вкладок.
ВебReact NativeВибір і сторінки
Спробуйте
Найкоротше використання
Onboarding.jsx<MotionPager
items={slides}
index={page}
onIndexChange={setPage}
gap={16}
renderItem={(slide) => <Slide slide={slide} />}
/>;
Що він бере на себе
- Сторінки йдуть за свайпами й перетягуванням мишею, чинять опір за краями й зупиняються з урахуванням швидкості відпускання.
- Різкий змах завжди гортає сторінку, а один жест ніколи не гортає більше однієї.
- Горизонтальне прокручування тачпадом теж гортає сторінки, а його інерційний хвіст ігнорується.
- Стрілки, Home і End працюють, коли пейджер у фокусі, а вертикальне прокручування далі працює.
- Усі сторінки, крім активної, неактивні.
Для чого підходить
- Онбординг.
- Карусель фотографій.
- Панелі вкладок, що гортаються, у парі з
MotionHighlight.
Props
| Проп | Тип | Типово | Опис |
|---|
items | readonly T[] | —обов’язково | Ваш масив даних. |
|---|
index | number | | Показана сторінка. Не задавайте її, щоб пейджер керував нею сам. |
|---|
defaultIndex | number | 0 | Початкова сторінка, коли index не керований. |
|---|
onIndexChange | (index, item) => void | | Виконується з індексом і елементом, щойно свайп, клавіша чи жест коліщатка завершилися. |
|---|
getKey | (item) => string | number | item.id | Повертає унікальний стабільний ключ елемента. Типово — item.id, а для рядків і чисел — сам елемент. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Малює сторінку; отримує її індекс і те, чи вона активна. |
|---|
gap | number | 0 | Відстань між сторінками в пікселях. |
|---|
itemClassName | string | | Клас для елемента кожного пункту; itemStyle задає його вбудований стиль. |
|---|
transition | Transition | spring | Крива timing { duration, easing } чи пружина { tempo: 'spring', spring }. Після переривання пружини зберігають інерцію. |
|---|
Решта props передається відрендереному елементу, тож className, style і обробники подій працюють як завжди.
Використовується в прикладах