Alle Komponenten

MotionStream

Gestreamter Text, gleichmäßig eingeblendet, der bei Schüben aufholt.

WebReact NativeZahlen und Text

Ausprobieren

Beispiel wird vorbereitet…

Kürzeste Nutzung

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

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

Was sie dir abnimmt

  • Aus Schüben wird Lesen: Text erscheint mit speed Zeichen pro Sekunde statt in Brocken.
  • Ein Rückstau beschleunigt das Einblenden, sodass er in etwa catchUp Millisekunden angezeigt ist.
  • Emojis, Flaggen und kombinierende Zeichen werden nie getrennt, und ein halb empfangenes Emoji wartet auf den Rest.
  • Eine umgeschriebene Antwort setzt am gemeinsamen Anfang an, statt neu zu beginnen.
  • Eingeblendete Zeichen landen direkt auf der Seite; React rendert nur ein paar Mal pro Sekunde.

Gut für

  • Die Antwort eines Assistenten in einem Chat.
  • Ein Build- oder Deploy-Log.
  • Live-Untertitel.

props

PropTypStandardBeschreibung
textstring—erforderlichDer bisherige Text. Wachsender Text wird gleichmäßig eingeblendet; eine Umschreibung setzt am gemeinsamen Anfang an.
speednumber90Grundtempo des Einblendens in Zeichen pro Sekunde.
catchUpnumber900Ein Rückstau wird durch Beschleunigen in etwa so vielen Millisekunden eingeblendet.
initialbooleanfalseAuch den beim Mount vorhandenen Text einblenden (sonst erscheint er sofort).
effect'fade' | 'none''fade'fade blendet neue Zeichen ein; none zeigt sie direkt.
children(visible: string) => ReactNodeEine Funktion, die den getakteten Text erhält, etwa um Markdown zu rendern.
aselement'span'Das zu rendernde Element.
onMotionComplete(text) => voidLäuft, sobald das Einblenden text eingeholt hat.

Weitere props gehen an das gerenderte Element, also funktionieren className, style und Event-Handler wie gewohnt.

Web und React Native

Im Web blenden neue Zeichen ein (effect="fade") und werden zu normalem, markierbarem Text zusammengeführt. Ein Funktions-Kind erhält den getakteten String für Markdown, höchstens jeden zweiten Frame. In einem ausgeblendeten Tab wird alles sofort angezeigt.

Unter React Native ist der Text ein echtes Text und erscheint ohne Einblendung.

Verwendet in diesen Beispielen

Suchen

Tippe, um die Dokumentation zu durchsuchen.