כל הרכיבים

MotionNumber · MotionText

מספר שהספרות שלו מתגלגלות כמו גלגלים, כולל ספרות שמופיעות או נעלמות.

אינטרנטReact Nativeמספרים וטקסט

נסו את זה

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

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

Total.jsx
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
  format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>

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

  • נשיאה: 999 → 1,000 מגלגל כל ספרה שהשתנתה באותו כיוון, כמו מד מרחק.
  • ספרות שמופיעות או נעלמות מתגלגלות פנימה או החוצה בעמודה שלהן במקום לקפוץ.
  • מפרידים, סימנים וסמלי מטבע מופיעים ודועכים יחד עם הספרה שהם שייכים לה.
  • הספרות שנשארות מחליקות למיקומים החדשים בזמן שהן מתגלגלות, כך שהמספר לעולם לא מתפצל.
  • ערך חדש באמצע תנועה ממשיך בדיוק ממה שעל המסך.
  • העיצוב לעולם לא דורש Intl: העבירו טקסט או פונקציית format, או הפעילו עם intl.

מתאים ל־

  • סכום עגלה שמשתנה כשמוסיפים פריטים.
  • מונה או ניקוד חיים.
  • נתון בלוח בקרה שמתעדכן כל כמה שניות.

Props

MotionNumber

Propטיפוסברירת מחדלתיאור
valuenumber | bigint | string—חובההמספר, או טקסט מספרי שעוצב על ידיכם.
mode'replace' | 'roll''replace'replace מזיז כל ספרה שהשתנתה צעד אחד; roll עובר דרך הספרות שבאמצע.
direction'auto' | 'digit' | 'up' | 'down''auto'auto עוקב אחרי השינוי בגודל כך שנשיאות מתגלגלות לכיוון אחד; digit משווה כל ספרה בנפרד.
staggernumber45מילישניות בין ספרות שהשתנו, מהאחדות החוצה. כל הגל מוגבל בזמן.
format(value) => string | Intl.NumberFormatOptionsפונקציה שמחזירה את הטקסט להצגה, או אפשרויות Intl.NumberFormat (עם intl).
intlbooleanfalseשימוש ב־Intl.NumberFormat המובנה. כבוי כברירת מחדל כך שאף סביבת ריצה לא צריכה Intl.
localestring | string[]Locale עבור intl.
prefixstringטקסט לפני המספר.
suffixstringטקסט אחרי המספר.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.
onMotionComplete(value) => voidרץ עם הערך ברגע שהספרות התייצבו.

MotionText

Propטיפוסברירת מחדלתיאור
childrenReactNodeהטקסט להצגה.
aselement'span'האלמנט לרינדור.
transitionTransitionspringעקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם.
onMotionComplete(text) => voidרץ כשהתנועה מתייצבת.

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

אינטרנט ו־React Native

באינטרנט כל ספרה היא ערימה קטנה של גליפים שמנוגנת ב־Web Animations API, והטקסט נשאר ניתן לסימון. MotionText מנפיש כל טקסט: טקסט מספרי מתגלגל ספרה אחר ספרה, טקסט אחר מתחלף.

ב־React Native המספר נשאר Text אמיתי לפריסה, לסימון ולנגישות, כולל שבירת שורות ו־numberOfLines; הגליפים זזים על ה־driver הנייטיב.

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

חיפוש

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