Playground

Αλλάξτε τις εισόδους. Δείτε πώς αντιδρά το restate.

Επτά πειράματα τρέχουν το πραγματικό πακέτο. Ο ελεγκτής στα αριστερά ανήκει σε αυτόν τον ιστότοπο· το παράδειγμα στα δεξιά λαμβάνει μόνο props, οπότε ο κώδικάς του είναι ακριβώς αυτός που θα γράφατε εσείς.

Ελεγκτής — μόνο για τον ιστότοποprops — η γέφυραΠαράδειγμα — ο κώδικας που αντιγράφετε
01

Δύο οθόνες, ένα store

Πολλά components χρειάζονται την ίδια τιμή. Δηλώστε την μία φορά και διαβάστε την οπουδήποτε.

Τι να προσέξετε
  • Πατήστε το κουμπί βήματος: όλοι οι αναγνώστες δείχνουν τον νέο αριθμό την ίδια στιγμή.
  • Αλλάξτε τον αριθμό των αναγνωστών: ένας νέος αναγνώστης ξεκινά από την τρέχουσα τιμή.

Προετοιμασία παραδείγματος…

Πρώτα βήματα
02

Αποδώστε μόνο ό,τι άλλαξε

Ένα μεγάλο store δεν πρέπει να αποδίδει ξανά κάθε component σε κάθε αλλαγή.

Τι να προσέξετε
  • Επεξεργαστείτε την κάρτα: αποδίδεται μόνο η κάρτα ολόκληρου του store.
  • Προσθέστε προϊόν: αποδίδονται τα προϊόντα και η σύνοψη· η κάρτα κουπονιού μένει ακίνητη.
  • Απενεργοποιήστε το shallow: η σύνοψη αποδίδεται σε κάθε αλλαγή, επειδή ο selector της επιστρέφει νέο αντικείμενο κάθε φορά.

Προετοιμασία παραδείγματος…

Γίνετε συνδρομητής μόνο σε ό,τι χρειάζεστε
03

Πολλές αλλαγές, μία ειδοποίηση

Η ενημέρωση δύο stores τη μία μετά την άλλη μπορεί να αφήσει έναν συνδρομητή να δει μισοτελειωμένη κατάσταση.

Τι να προσέξετε
  • Άδειασμα ξεχωριστά: ο συνδρομητής βλέπει 0 προϊόντα μαζί με το παλιό κουπόνι.
  • Άδειασμα με batch: ο συνδρομητής εκτελείται μία φορά, αφού αλλάξουν και τα δύο stores.

Προετοιμασία παραδείγματος…

Γίνετε συνδρομητής μόνο σε ό,τι χρειάζεστε
04

Αποθηκεύστε όταν αποφασίσετε

Η επεξεργασία αλλάζει τη μνήμη. Η αποθήκευση είναι ρητή ενέργεια και η κατάσταση δείχνει τι συμβαίνει.

Τι να προσέξετε
  • Πληκτρολογήστε: το dirty ενεργοποιείται και ακόμη δεν γράφεται τίποτα.
  • Αυξήστε την καθυστέρηση και αποθηκεύστε: το operation δείχνει save όσο διαρκεί η εγγραφή.
  • Επανάληψη: το αποθηκευμένο πρόχειρο ανακτάται από το IndexedDB.

Προετοιμασία παραδείγματος…

Αποθηκεύστε όταν αποφασίσετε
05

Πληκτρολογήστε γρήγορα, γράψτε μία φορά

Η αποθήκευση σε κάθε πάτημα πλήκτρου πλημμυρίζει την αποθήκευση. Το autoSave περιμένει μια παύση.

Τι να προσέξετε
  • Πληκτρολογήστε μια πρόταση: οι αλλαγές ανεβαίνουν γρήγορα, ενώ οι εγγραφές αυξάνονται κατά μία μετά από κάθε παύση.
  • Επιλέξτε «Σε κάθε αλλαγή»: κάθε αλλαγή γράφεται, και η επιστροφή στην αποθηκευμένη τιμή δεν γράφει τίποτα.

Προετοιμασία παραδείγματος…

Αποθηκεύστε όταν αποφασίσετε
06

Εργαστήριο αστοχιών

Κάντε την αποθήκευση αργή, χαλασμένη ή μη διαθέσιμη και δείτε πώς το restate κρατά τα δεδομένα σας και αναφέρει το πρόβλημα.

Τι να προσέξετε
  • Αυξήστε την καθυστέρηση και αποθηκεύστε τρεις φορές: τα αιτήματα μοιράζονται μία εγγραφή, οπότε το pending μένει 1 και και τα τρία αποτελέσματα φτάνουν μαζί.
  • Ενεργοποιήστε τις αποτυχημένες εγγραφές και αποθηκεύστε: το dirty μένει true και το error δείχνει την αιτία.
  • Κάντε την αποθήκευση μη διαθέσιμη: η αποθήκευση απορρίπτεται με STORAGE_UNAVAILABLE, αλλά η επεξεργασία συνεχίζεται.

Προετοιμασία παραδείγματος…

Αξιόπιστο από τον σχεδιασμό
07

Κατάσταση ανά έγγραφο

Κάθε ανοιχτό έγγραφο χρειάζεται τη δική του κατάσταση, που απελευθερώνεται όταν κλείνει το έγγραφο.

Τι να προσέξετε
  • Πληκτρολογήστε στο έγγραφο A και μετά στο B: το καθένα κρατά το δικό του κείμενο.
  • Κλείστε το έγγραφο A και ανοίξτε το ξανά: ξεκινά κενό, επειδή το scope του καταστράφηκε.

Προετοιμασία παραδείγματος…

Κατάσταση που ανήκει σε component

Αναζήτηση στην τεκμηρίωση

Αναζήτηση σε τίτλους, περιγραφές και περιεχόμενο όλων των οδηγών.