MotionNumber · MotionText
מספר שהספרות שלו מתגלגלות כמו גלגלים, כולל ספרות שמופיעות או נעלמות.
אינטרנטReact Nativeמספרים וטקסט
נסו את זה
מכין את הדוגמה…
השימוש הקצר ביותר
<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 | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
value | number | bigint | string | —חובה | המספר, או טקסט מספרי שעוצב על ידיכם. |
mode | 'replace' | 'roll' | 'replace' | replace מזיז כל ספרה שהשתנתה צעד אחד; roll עובר דרך הספרות שבאמצע. |
direction | 'auto' | 'digit' | 'up' | 'down' | 'auto' | auto עוקב אחרי השינוי בגודל כך שנשיאות מתגלגלות לכיוון אחד; digit משווה כל ספרה בנפרד. |
stagger | number | 45 | מילישניות בין ספרות שהשתנו, מהאחדות החוצה. כל הגל מוגבל בזמן. |
format | (value) => string | Intl.NumberFormatOptions | פונקציה שמחזירה את הטקסט להצגה, או אפשרויות Intl.NumberFormat (עם intl). | |
intl | boolean | false | שימוש ב־Intl.NumberFormat המובנה. כבוי כברירת מחדל כך שאף סביבת ריצה לא צריכה Intl. |
locale | string | string[] | Locale עבור intl. | |
prefix | string | טקסט לפני המספר. | |
suffix | string | טקסט אחרי המספר. | |
transition | Transition | spring | עקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם. |
onMotionComplete | (value) => void | רץ עם הערך ברגע שהספרות התייצבו. |
MotionText
| Prop | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
children | ReactNode | הטקסט להצגה. | |
as | element | 'span' | האלמנט לרינדור. |
transition | Transition | spring | עקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם. |
onMotionComplete | (text) => void | רץ כשהתנועה מתייצבת. |
props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.
אינטרנט ו־React Native
באינטרנט כל ספרה היא ערימה קטנה של גליפים שמנוגנת ב־Web Animations API, והטקסט נשאר ניתן לסימון. MotionText מנפיש כל טקסט: טקסט מספרי מתגלגל ספרה אחר ספרה, טקסט אחר מתחלף.
ב־React Native המספר נשאר Text אמיתי לפריסה, לסימון ולנגישות, כולל שבירת שורות ו־numberOfLines; הגליפים זזים על ה־driver הנייטיב.
בשימוש בדוגמאות האלה
- סיכום תשלוםכמויות, סכומי שורות והסכום הכולל מתגלגלים כשהעגלה משתנה; הודעת הקופון נכנסת ויוצאת; תשלום דורש החזקה מכוונת.
MotionListMotionNumberMotionPresenceMotionHold - תיבת דוארלשוניות סינון עם ספירות חיות, שורות שאפשר להחליק הצידה ורשימה שסוגרת את הרווח.
MotionHighlightMotionListMotionSwipeMotionNumber