Alle komponenter

MotionStream

Streamet tekst, der vises i et jævnt tempo og indhenter stød.

WebReact NativeTal og tekst

Prøv det

Forbereder eksemplet…

Korteste brug

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

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

Det klarer den for dig

  • Stød bliver til læsning: teksten vises med speed tegn i sekundet i stedet for i klumper.
  • Et efterslæb får visningen til at gå hurtigere, så det vises inden for cirka catchUp millisekunder.
  • Emoji, flag og kombinerende tegn deles aldrig, og en halvt modtaget emoji venter på resten.
  • Et omskrevet svar fortsætter fra den fælles begyndelse i stedet for at starte forfra.
  • Viste tegn går direkte til siden; React renderer kun nogle få gange i sekundet.

Brug den til

  • En assistents svar i en chat.
  • En build- eller deploy-log.
  • Live-undertekster.

Props

PropTypeStandardBeskrivelse
textstring—påkrævetTeksten indtil nu. Voksende tekst vises i et jævnt tempo; en omskrivning fortsætter fra den fælles begyndelse.
speednumber90Grundtempo for visning i tegn pr. sekund.
catchUpnumber900Et efterslæb vises inden for cirka så mange millisekunder ved at sætte tempoet op.
initialbooleanfalseVis også teksten, der findes ved mount (ellers vises den med det samme).
effect'fade' | 'none''fade'fade toner nye tegn ind; none viser dem direkte.
children(visible: string) => ReactNodeEn funktion, der får den taktede tekst, for eksempel til at rendere Markdown.
aselement'span'Elementet, der renderes.
onMotionComplete(text) => voidKører, hver gang visningen har indhentet text.

Andre props går til det renderede element, så className, style og event handlers virker som normalt.

Web og React Native

På nettet toner nye tegn ind (effect="fade") og samles til almindelig tekst, der kan markeres. Et funktionsbarn får den taktede streng til Markdown, højst hver anden frame. I en skjult fane vises alt med det samme.

I React Native er teksten en rigtig Text og vises uden toning.

Brugt i disse eksempler

Søg

Skriv for at søge i dokumentationen.