Tutti i componenti

MotionStream

Testo in streaming rivelato a ritmo costante, che recupera le raffiche.

WebReact NativeNumeri e testo

Provalo

Preparazione dell’esempio…

L’uso più breve

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

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

Di che cosa si occupa al posto tuo

  • Le raffiche diventano lettura: il testo viene rivelato a speed caratteri al secondo invece che a blocchi.
  • Un arretrato accelera la rivelazione, così compare entro circa catchUp millisecondi.
  • Emoji, bandiere e segni combinanti non vengono mai spezzati, e un’emoji ricevuta a metà aspetta il resto.
  • Una risposta riscritta prosegue dall’inizio comune invece di ricominciare.
  • I caratteri rivelati vanno direttamente nella pagina; React si renderizza solo poche volte al secondo.

Usalo per

  • La risposta di un assistente in una chat.
  • Il log di una build o di un deploy.
  • Sottotitoli dal vivo.

Props

PropTipoPredefinitoDescrizione
textstring—obbligatoriaIl testo ricevuto finora. Il testo che cresce viene rivelato a ritmo costante; una riscrittura prosegue dall’inizio comune.
speednumber90Velocità base di rivelazione, in caratteri al secondo.
catchUpnumber900Un arretrato viene rivelato entro circa questi millisecondi accelerando.
initialbooleanfalseRivela anche il testo presente al montaggio (altrimenti compare subito).
effect'fade' | 'none''fade'fade fa comparire in dissolvenza i nuovi caratteri; none li mostra direttamente.
children(visible: string) => ReactNodeUna funzione che riceve il testo cadenzato, per esempio per renderizzare Markdown.
aselement'span'L’elemento da renderizzare.
onMotionComplete(text) => voidViene eseguito ogni volta che la rivelazione raggiunge text.

Le altre props vanno all’elemento renderizzato, quindi className, style e gli event handler funzionano come sempre.

Web e React Native

Sul web i nuovi caratteri compaiono in dissolvenza (effect="fade") e vengono integrati in testo semplice e selezionabile. Un figlio funzione riceve la stringa cadenzata per il Markdown, al massimo un frame sì e uno no. In una tab nascosta compare tutto subito.

Su React Native il testo è un vero Text e compare senza dissolvenza.

Usato in questi esempi

Cerca

Scrivi per cercare nella documentazione.