כל הרכיבים

MotionPager

עמודים להחלקה מנתונים: הדרכת פתיחה, קרוסלות ולוחות לשוניות.

אינטרנטReact Nativeבחירה ודפדוף

נסו את זה

מכין את הדוגמה…

השימוש הקצר ביותר

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

מה הוא עושה בשבילכם

  • העמודים עוקבים אחרי החלקות וגרירות עכבר, מתנגדים מעבר לקצוות ומתייצבים לפי מהירות השחרור.
  • הנפה מהירה תמיד מעבירה עמוד, ומחווה אחת לעולם לא מעבירה יותר מאחד.
  • גם גלילה אופקית במשטח מגע מעבירה עמודים, וזנב התנופה שלה מתעלם.
  • מקשי חצים, Home ו־End עובדים כשמחליף העמודים בפוקוס, והגלילה האנכית ממשיכה לעבוד.
  • עמודים שאינם הפעיל אינם פעילים.

מתאים ל־

  • תהליך הדרכת פתיחה.
  • קרוסלת תמונות.
  • לוחות לשוניות להחלקה בשילוב עם MotionHighlight.

Props

Propטיפוסברירת מחדלתיאור
itemsreadonly T[]—חובהמערך הנתונים שלכם.
indexnumberהעמוד המוצג. השמיטו אותו כדי שמחליף העמודים ינהל את שלו.
defaultIndexnumber0עמוד התחלה כש־index אינו מבוקר.
onIndexChange(index, item) => voidרץ עם האינדקס והפריט ברגע שהחלקה, מקש או מחוות גלגלת מתייצבים.
getKey(item) => string | numberitem.idמחזיר מפתח ייחודי ויציב לפריט. ברירת המחדל היא item.id, או הפריט עצמו למחרוזות ולמספרים.
renderItem(item, { index, active }) => ReactNodeitem.labelמצייר עמוד; מקבל את האינדקס שלו ואם הוא פעיל.
gapnumber0מרווח בין עמודים בפיקסלים.
itemClassNamestringclass לאלמנט של כל פריט; itemStyle מגדיר את הסגנון המוטבע שלו.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.

props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.

אינטרנט ו־React Native

index יכול להיות מבוקר (onIndexChange(index, item) מדווח על כל התייצבות) או להישאר בידי מחליף העמודים עם defaultIndex.

אותו רכיב ואותם props עובדים ב־React Native.

בשימוש בדוגמאות האלה

חיפוש

הקלידו כדי לחפש בתיעוד.