Всички компоненти

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 и се появява без преливане.

Използван в тези примери

Търсене

Пишете, за да търсите в документацията.