MotionStream
Srautinis tekstas, rodomas pastoviu tempu, kuris pasiveja pliūpsnius.
ŽiniatinklisReact NativeSkaičiai ir tekstas
Išbandykite
Ruošiamas pavyzdys…
Trumpiausias naudojimas
<MotionStream text={answerSoFar} initial />
<MotionStream text={answerSoFar}>
{visible => <Markdown>{visible}</Markdown>}
</MotionStream>Ką jis sutvarko už jus
- Pliūpsniai virsta skaitymu: tekstas rodomas
speedsimbolių per sekundę greičiu, o ne gabalais. - Atsilikimas pagreitina rodymą, kad tekstas pasirodytų maždaug per
catchUpmilisekundžių. - Jaustukai, vėliavos ir jungiamieji ženklai niekada neskaidomi, o pusiau gautas jaustukas laukia likusios dalies.
- Perrašytas atsakymas tęsiasi nuo bendros pradžios, užuot pradėjęs iš naujo.
- Parodyti simboliai keliauja tiesiai į puslapį; React perpiešia tik kelis kartus per sekundę.
Naudokite jį
- Asistento atsakymas pokalbyje.
- Kūrimo ar diegimo žurnalas.
- Gyvi subtitrai.
Props
| Prop | Tipas | Numatytoji | Aprašymas |
|---|---|---|---|
text | string | —privaloma | Iki šiol gautas tekstas. Augantis tekstas rodomas pastoviu tempu; perrašymas tęsiasi nuo bendros pradžios. |
speed | number | 90 | Bazinis rodymo greitis simboliais per sekundę. |
catchUp | number | 900 | Atsilikimas parodomas pagreitinant maždaug per tiek milisekundžių. |
initial | boolean | false | Palaipsniui rodyti ir prijungimo metu esantį tekstą (kitaip jis parodomas iškart). |
effect | 'fade' | 'none' | 'fade' | fade palaipsniui išryškina naujus simbolius; none juos parodo iškart. |
children | (visible: string) => ReactNode | Funkcija, gaunanti tempu išdėliotą tekstą, pavyzdžiui, Markdown atvaizdavimui. | |
as | element | 'span' | Atvaizduojamas elementas. |
onMotionComplete | (text) => void | Vykdomas kaskart, kai rodymas pasiveja text. |
Kiti props perduodami atvaizduojamam elementui, todėl className, style ir įvykių apdorojimo funkcijos veikia kaip įprastai.
Žiniatinklis ir React Native
Žiniatinklyje nauji simboliai palaipsniui išryškėja (effect="fade") ir įtraukiami į paprastą, pažymimą tekstą. Funkcija vaikas gauna tempu išdėliotą eilutę Markdown, ne dažniau nei kas antrą kadrą. Paslėptame skirtuke viskas parodoma iškart.
React Native tekstas yra tikras Text ir pasirodo be išryškinimo.