Všechny komponenty

MotionStream

Streamovaný text odhalovaný stálým tempem, který dohání nárazy.

WebReact NativeČísla a text

Vyzkoušejte

Příprava příkladu…

Nejkratší použití

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

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

Co za vás vyřeší

  • Nárazy se změní ve čtení: text se odhaluje rychlostí speed znaků za sekundu místo po kusech.
  • Nahromaděný text odhalování zrychlí, aby se zobrazil zhruba do catchUp milisekund.
  • Emoji, vlajky a kombinující znaky se nikdy nerozdělí a napůl přijaté emoji počká na zbytek.
  • Přepsaná odpověď pokračuje od společného začátku, místo aby začínala znovu.
  • Odhalené znaky jdou přímo do stránky; React renderuje jen několikrát za sekundu.

Použijte pro

  • Odpověď asistenta v chatu.
  • Log sestavení nebo nasazení.
  • Živé titulky.

Props

PropTypVýchozíPopis
textstring—povinnéDosavadní text. Rostoucí text se odhaluje stálým tempem; přepis pokračuje od společného začátku.
speednumber90Základní rychlost odhalování ve znacích za sekundu.
catchUpnumber900Nahromaděný text se zrychlením odhalí přibližně za tolik milisekund.
initialbooleanfalseOdhalit i text, který existuje při připojení (jinak se zobrazí hned).
effect'fade' | 'none''fade'fade nové znaky plynule zobrazí; none je ukáže přímo.
children(visible: string) => ReactNodeFunkce, která dostává text v daném tempu, například pro render Markdown.
aselement'span'Prvek, který se renderuje.
onMotionComplete(text) => voidSpustí se pokaždé, když odhalování dožene text.

Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.

Web a React Native

Na webu se nové znaky plynule objevují (effect="fade") a slévají do běžného označitelného textu. Funkce jako potomek dostává řetězec v daném tempu pro Markdown, nejvýš v každém druhém snímku. Ve skryté kartě se vše zobrazí najednou.

V React Native je text skutečný Text a objevuje se bez prolnutí.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.