كل المكوّنات

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[]اللغة المحلية لـ intl.
prefixstringنص قبل الرقم.
suffixstringنص بعد الرقم.
transitionTransitionspringمنحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة.
onMotionComplete(value) => voidيعمل مع القيمة بعد استقرار الخانات.

MotionText

Propالنوعالافتراضيالوصف
childrenReactNodeالنص المراد عرضه.
aselement'span'العنصر المراد عرضه.
transitionTransitionspringمنحنى توقيت { duration, easing } أو نابض { tempo: 'spring', spring }. تحتفظ النوابض بزخمها عند المقاطعة.
onMotionComplete(text) => voidيعمل حين تستقر الحركة.

تذهب props الأخرى إلى العنصر المعروض، فتعمل className وstyle ومعالجات الأحداث كالمعتاد.

الويب وReact Native

على الويب كل خانة كومة صغيرة من الرموز تشغّلها Web Animations API، ويبقى النص قابلًا للتحديد. يحرّك MotionText أي نص: النص الرقمي يتدحرج خانةً خانة، والنص الآخر يتبدّل.

في React Native يبقى الرقم Text حقيقيًا للتخطيط والتحديد وسهولة الوصول، بما في ذلك الالتفاف وnumberOfLines؛ وتتحرك الرموز على المشغّل الأصلي.

مستخدم في هذه الأمثلة

بحث

اكتب للبحث في التوثيق.