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

PropTypeDéfautDescription
itemsreadonly T[]—obligatoireVotre tableau de données.
indexnumberLa page affichée. Omettez-la pour laisser le pagineur gérer la sienne.
defaultIndexnumber0Page de départ quand index n’est pas contrôlé.
onIndexChange(index, item) => voidS’exécute avec l’index et l’élément dès qu’un balayage, une touche ou la molette se pose.
getKey(item) => string | numberitem.idRenvoie 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 }) => ReactNodeitem.labelDessine une page ; reçoit son index et si elle est active.
gapnumber0Espace entre les pages, en pixels.
itemClassNamestringClasse de l’élément de chaque item ; itemStyle définit son style en ligne.
transitionTransitionspringUne 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.

Web et React Native

index peut être contrôlé (onIndexChange(index, item) signale chaque arrêt) ou laissé au pagineur avec defaultIndex.

Le même composant et les mêmes props fonctionnent sur React Native.

Utilisé dans ces exemples

Rechercher

Tapez pour rechercher dans la documentation.