Усі компоненти

MotionStream

Потоковий текст, що розкривається в рівному темпі й наздоганяє сплески.

ВебReact NativeЧисла й текст

Спробуйте

Підготовка прикладу…

Найкоротше використання

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

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

Що він бере на себе

  • Сплески перетворюються на читання: текст розкривається зі швидкістю speed символів на секунду, а не шматками.
  • Накопичений текст пришвидшує розкриття, щоб з’явитися приблизно за catchUp мілісекунд.
  • Емодзі, прапори й комбіновані знаки ніколи не розриваються, а напівотриманий емодзі чекає на решту.
  • Переписана відповідь продовжується зі спільного початку, а не починається заново.
  • Розкриті символи одразу потрапляють на сторінку; React рендерить лише кілька разів на секунду.

Для чого підходить

  • Відповідь асистента в чаті.
  • Лог збирання чи деплою.
  • Живі субтитри.

Props

ПропТипТиповоОпис
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 і з’являється без згасання.

Використовується в прикладах

Пошук

Почніть вводити, щоб шукати в документації.