MotionStream
Tasaisella tahdilla näytettävä virtaava teksti, joka saa purskeet kiinni.
WebReact NativeNumerot ja teksti
Kokeile
Valmistellaan esimerkkiä…
Lyhin käyttö
<MotionStream text={answerSoFar} initial />
<MotionStream text={answerSoFar}>
{visible => <Markdown>{visible}</Markdown>}
</MotionStream>Mitä se hoitaa puolestasi
- Purskeista tulee luettavaa: teksti näytetään
speedmerkin sekuntivauhdilla palasten sijaan. - Jäljessä oleminen nopeuttaa näyttämistä, jotta teksti näkyy noin
catchUpmillisekunnissa. - Emojit, liput ja yhdistävät merkit eivät koskaan hajoa, ja puoliksi saapunut emoji odottaa loppuosaa.
- Uudelleen kirjoitettu vastaus jatkaa yhteisestä alusta sen sijaan, että aloittaisi alusta.
- Näytetyt merkit menevät suoraan sivulle; React renderöi vain muutaman kerran sekunnissa.
Käytä sitä
- Avustajan vastaus keskustelussa.
- Koonti- tai julkaisuloki.
- Live-tekstitykset.
Props
| Prop | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
text | string | —pakollinen | Teksti tähän mennessä. Kasvava teksti näytetään tasaisella tahdilla; uudelleenkirjoitus jatkaa yhteisestä alusta. |
speed | number | 90 | Perusnäyttönopeus merkkeinä sekunnissa. |
catchUp | number | 900 | Jäljessä oleva osa näytetään nopeuttamalla noin näin monessa millisekunnissa. |
initial | boolean | false | Näytä asteittain myös kiinnityshetkellä olemassa oleva teksti (muuten se näkyy heti). |
effect | 'fade' | 'none' | 'fade' | fade häivyttää uudet merkit esiin; none näyttää ne suoraan. |
children | (visible: string) => ReactNode | Funktio, joka saa tahdistetun tekstin, esimerkiksi Markdownin renderöimiseen. | |
as | element | 'span' | Renderöitävä elementti. |
onMotionComplete | (text) => void | Suoritetaan aina, kun näyttäminen saavuttaa text-arvon. |
Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.
Web ja React Native
Webissä uudet merkit häivytetään esiin (effect="fade") ja yhdistetään tavalliseksi, valittavaksi tekstiksi. Funktiolapsi saa tahdistetun merkkijonon Markdownia varten enintään joka toisessa ruudussa. Piilotetulla välilehdellä kaikki näytetään kerralla.
React Nativessa teksti on oikea Text ja ilmestyy ilman häivytystä.