MotionStream
Κείμενο σε ροή που εμφανίζεται με σταθερό ρυθμό και προλαβαίνει τις ριπές.
WebReact NativeΑριθμοί και κείμενο
Δοκιμάστε το
Προετοιμασία παραδείγματος…
Η πιο σύντομη χρήση
<MotionStream text={answerSoFar} initial />
<MotionStream text={answerSoFar}>
{visible => <Markdown>{visible}</Markdown>}
</MotionStream>Τι αναλαμβάνει για εσάς
- Οι ριπές γίνονται ανάγνωση: το κείμενο εμφανίζεται με
speedχαρακτήρες το δευτερόλεπτο αντί για κομμάτια. - Μια καθυστέρηση επιταχύνει την εμφάνιση ώστε να φανεί μέσα σε περίπου
catchUpχιλιοστά του δευτερολέπτου. - Τα emoji, οι σημαίες και τα συνδυαστικά σημάδια δεν διασπώνται ποτέ, και ένα emoji που έφτασε μισό περιμένει το υπόλοιπο.
- Μια απάντηση που ξαναγράφεται συνεχίζει από την κοινή αρχή αντί να ξεκινά από την αρχή.
- Οι χαρακτήρες που εμφανίζονται πηγαίνουν κατευθείαν στη σελίδα· το React αποδίδει μόνο λίγες φορές το δευτερόλεπτο.
Χρησιμοποιήστε το για
- Η απάντηση ενός βοηθού σε συνομιλία.
- Ένα αρχείο καταγραφής build ή deploy.
- Ζωντανοί υπότιτλοι.
Props
| Prop | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
text | string | —υποχρεωτικό | Το κείμενο ως τώρα. Το κείμενο που μεγαλώνει εμφανίζεται με σταθερό ρυθμό· μια επανεγγραφή συνεχίζει από την κοινή αρχή. |
speed | number | 90 | Βασικός ρυθμός εμφάνισης σε χαρακτήρες το δευτερόλεπτο. |
catchUp | number | 900 | Μια καθυστέρηση εμφανίζεται με επιτάχυνση μέσα σε περίπου τόσα χιλιοστά του δευτερολέπτου. |
initial | boolean | false | Εμφάνιση σταδιακά και του κειμένου που υπάρχει κατά την προσάρτηση (αλλιώς φαίνεται αμέσως). |
effect | 'fade' | 'none' | 'fade' | Το fade εμφανίζει σταδιακά τους νέους χαρακτήρες· το none τους δείχνει απευθείας. |
children | (visible: string) => ReactNode | Συνάρτηση που λαμβάνει το ρυθμισμένο κείμενο, για παράδειγμα για απόδοση Markdown. | |
as | element | 'span' | Το στοιχείο προς απόδοση. |
onMotionComplete | (text) => void | Εκτελείται κάθε φορά που η εμφάνιση προλαβαίνει το text. |
Τα υπόλοιπα props πηγαίνουν στο στοιχείο που αποδίδεται, οπότε τα className, style και οι χειριστές συμβάντων λειτουργούν κανονικά.
Web και React Native
Στο web οι νέοι χαρακτήρες εμφανίζονται σταδιακά (effect="fade") και ενσωματώνονται σε απλό, επιλέξιμο κείμενο. Ένα παιδί-συνάρτηση λαμβάνει τη ρυθμισμένη συμβολοσειρά για Markdown, το πολύ κάθε δεύτερο καρέ. Σε κρυφή καρτέλα όλα εμφανίζονται μονομιάς.
Στο React Native το κείμενο είναι πραγματικό Text και εμφανίζεται χωρίς σβήσιμο.