كل المكوّنات

MotionStream

نص متدفق يُكشف بإيقاع ثابت يلحق بالدفعات.

الويبReact Nativeالأرقام والنصوص

جرّبه

جارٍ تجهيز المثال…

أقصر استخدام

Answer.jsx
<MotionStream text={answerSoFar} initial />

<MotionStream text={answerSoFar}>
  {visible => <Markdown>{visible}</Markdown>}
</MotionStream>

ما يتولّاه عنك

  • تتحوّل الدفعات إلى قراءة: يُكشف النص بسرعة speed حرفًا في الثانية بدل كتل.
  • النص المتراكم يسرّع الكشف ليظهر خلال نحو catchUp مللي ثانية.
  • لا تُقسم الرموز التعبيرية والأعلام وعلامات التركيب أبدًا، والرمز التعبيري المستلَم نصفه ينتظر الباقي.
  • الإجابة المعاد كتابتها تكمل من البداية المشتركة بدل أن تبدأ من جديد.
  • تذهب الأحرف المكشوفة مباشرة إلى الصفحة؛ ولا يعرض React إلا بضع مرات في الثانية.

استخدمه لـ

  • إجابة مساعد في محادثة.
  • سجل بناء أو نشر.
  • ترجمة مباشرة.

Props

Propالنوعالافتراضيالوصف
textstring—إلزاميالنص حتى الآن. يُكشف النص المتنامي بإيقاع ثابت؛ وإعادة الكتابة تكمل من البداية المشتركة.
speednumber90معدّل الكشف الأساسي بالأحرف في الثانية.
catchUpnumber900يُكشف النص المتراكم خلال نحو هذا العدد من المللي ثواني بالتسريع.
initialbooleanfalseاكشف أيضًا النص الموجود عند التركيب (وإلا يظهر دفعة واحدة).
effect'fade' | 'none''fade'يُظهر fade الأحرف الجديدة بالتدريج؛ ويعرضها none مباشرة.
children(visible: string) => ReactNodeدالة تتلقى النص بالإيقاع المضبوط، مثلًا لعرض Markdown.
aselement'span'العنصر المراد عرضه.
onMotionComplete(text) => voidيعمل كلما لحق الكشف بـ text.

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

الويب وReact Native

على الويب تظهر الأحرف الجديدة بالتدريج (effect="fade") وتُدمج في نص عادي قابل للتحديد. والابن الذي هو دالة يتلقى النص بالإيقاع المضبوط لعرض Markdown، مرة كل إطارين على الأكثر. وفي علامة تبويب مخفية يظهر كل شيء دفعة واحدة.

في React Native النص Text حقيقي ويظهر من دون تلاشٍ.

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

بحث

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