Alla komponenter

MotionStream

Strömmad text som visas i jämn takt och hinner ikapp skurar.

WebbReact NativeSiffror och text

Prova

Förbereder exemplet…

Kortaste användning

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

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

Det här sköter den åt dig

  • Skurar blir läsbara: texten visas med speed tecken per sekund i stället för i klumpar.
  • En eftersläpning snabbar upp visningen så att den syns inom ungefär catchUp millisekunder.
  • Emoji, flaggor och kombinerande tecken delas aldrig, och en halvt mottagen emoji väntar på resten.
  • Ett omskrivet svar fortsätter från den gemensamma början i stället för att börja om.
  • Visade tecken går direkt till sidan; React renderar bara några gånger per sekund.

Använd den för

  • En assistents svar i en chatt.
  • En bygg- eller driftsättningslogg.
  • Livetextning.

Props

PropTypStandardBeskrivning
textstring—krävsTexten hittills. Växande text visas i jämn takt; en omskrivning fortsätter från den gemensamma början.
speednumber90Grundtakt för visning i tecken per sekund.
catchUpnumber900En eftersläpning visas inom ungefär så här många millisekunder genom att takten ökar.
initialbooleanfalseVisa även texten som finns vid mount (annars syns den direkt).
effect'fade' | 'none''fade'fade tonar in nya tecken; none visar dem direkt.
children(visible: string) => ReactNodeEn funktion som får den taktade texten, till exempel för att rendera Markdown.
aselement'span'Elementet som renderas.
onMotionComplete(text) => voidKörs varje gång visningen har hunnit ikapp text.

Andra props går till det renderade elementet, så className, style och händelsehanterare fungerar som vanligt.

Webb och React Native

På webben tonas nya tecken in (effect="fade") och förs in i vanlig, markerbar text. Ett funktionsbarn får den taktade strängen för Markdown, högst varannan bildruta. I en dold flik visas allt på en gång.

I React Native är texten en riktig Text och visas utan toning.

Används i de här exemplen

Sök

Skriv för att söka i dokumentationen.