Alle komponenter

MotionStream

Strømmet tekst som vises i jevnt tempo og tar igjen støt.

WebReact NativeTall og tekst

Prøv det

Forbereder eksempelet …

Korteste bruk

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

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

Dette tar den seg av

  • Støt blir lesbare: teksten vises med speed tegn i sekundet i stedet for i klumper.
  • Et etterslep øker tempoet slik at det vises innen omtrent catchUp millisekunder.
  • Emoji, flagg og kombinerende tegn deles aldri, og en halvt mottatt emoji venter på resten.
  • Et omskrevet svar fortsetter fra den felles begynnelsen i stedet for å starte på nytt.
  • Viste tegn går rett til siden; React renderer bare noen få ganger i sekundet.

Bruk den til

  • Svaret fra en assistent i en chat.
  • En bygge- eller utrullingslogg.
  • Live-teksting.

Props

PropTypeStandardBeskrivelse
textstring—påkrevdTeksten så langt. Voksende tekst vises i jevnt tempo; en omskriving fortsetter fra den felles begynnelsen.
speednumber90Grunntempo for visning i tegn per sekund.
catchUpnumber900Et etterslep vises innen omtrent så mange millisekunder ved å øke tempoet.
initialbooleanfalseVis også teksten som finnes ved mount (ellers vises den med en gang).
effect'fade' | 'none''fade'fade toner nye tegn inn; none viser dem direkte.
children(visible: string) => ReactNodeEn funksjon som får den taktede teksten, for eksempel for å rendere Markdown.
aselement'span'Elementet som renderes.
onMotionComplete(text) => voidKjører hver gang visningen har tatt igjen text.

Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.

Web og React Native

På nettet tones nye tegn inn (effect="fade") og føres inn i vanlig tekst som kan merkes. Et funksjonsbarn får den taktede strengen for Markdown, høyst annethvert bilde. I en skjult fane vises alt med en gang.

I React Native er teksten en ekte Text og vises uten toning.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.