Tous les composants
MotionPager
Des pages à balayer à partir de données : onboarding, carrousels et panneaux d’onglets.
WebReact NativeSélection et pagination
Essayer
Préparation de l’exemple…
Usage minimal
Onboarding.jsx<MotionPager
items={slides}
index={page}
onIndexChange={setPage}
gap={16}
renderItem={(slide) => <Slide slide={slide} />}
/>;
Ce qu’il gère pour vous
- Les pages suivent les balayages et les glisser à la souris, résistent aux extrémités et se posent selon la vitesse de relâchement.
- Un geste vif tourne toujours une page, et un geste ne tourne jamais plus d’une page.
- Le défilement horizontal du trackpad tourne aussi les pages, et sa traîne d’inertie est ignorée.
- Les flèches, Début et Fin fonctionnent quand le pagineur a le focus, et le défilement vertical continue de fonctionner.
- Les pages autres que la page active sont inertes.
À utiliser pour
- Un parcours d’onboarding.
- Un carrousel de photos.
- Des panneaux d’onglets à balayer associés à
MotionHighlight.
Props
| Prop | Type | Défaut | Description |
|---|
items | readonly T[] | —obligatoire | Votre tableau de données. |
|---|
index | number | | La page affichée. Omettez-la pour laisser le pagineur gérer la sienne. |
|---|
defaultIndex | number | 0 | Page de départ quand index n’est pas contrôlé. |
|---|
onIndexChange | (index, item) => void | | S’exécute avec l’index et l’élément dès qu’un balayage, une touche ou la molette se pose. |
|---|
getKey | (item) => string | number | item.id | Renvoie une key unique et stable pour un élément. Par défaut item.id, ou l’élément lui-même pour les chaînes et les nombres. |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | Dessine une page ; reçoit son index et si elle est active. |
|---|
gap | number | 0 | Espace entre les pages, en pixels. |
|---|
itemClassName | string | | Classe de l’élément de chaque item ; itemStyle définit son style en ligne. |
|---|
transition | Transition | spring | Une courbe de temps { duration, easing } ou un ressort { tempo: 'spring', spring }. Les ressorts gardent leur élan quand ils sont interrompus. |
|---|
Les autres props vont à l’élément rendu : className, style et les gestionnaires d’événements fonctionnent comme d’habitude.
Utilisé dans ces exemples