Το ισοδύναμο του componentDidMount στα άγκιστρα είναι η συνάρτηση useEffect. Οι συναρτήσεις που μεταβιβάζονται στο useEffect εκτελούνται σε κάθε απόδοση στοιχείου-εκτός εάν του περάσετε ένα δεύτερο όρισμα.
Σε τι χρησιμεύει το useEffect;
Τι κάνει το useEffect; Χρησιμοποιώντας αυτό το Hook, λέτε στο React ότι το στοιχείο σας πρέπει να κάνει κάτι μετά την απόδοση. Το React θα θυμάται τη συνάρτηση που περάσατε (θα την αναφέρουμε ως το "εφέ" μας) και θα την καλέσει αργότερα αφού εκτελέσετε τις ενημερώσεις DOM.
Είναι το componentDidMount a React hook;
Το
useEffect είναι ένα React hook όπου μπορείτε να εφαρμόσετε παρενέργειες, για παράδειγμα, λήψη δεδομένων από διακομιστή. Το πρώτο όρισμα είναι μια επιστροφή κλήσης που θα ενεργοποιηθεί μετά τη διάταξη του προγράμματος περιήγησης και τη ζωγραφική.
Γιατί δεν ονομάζεται useEffect;
Ο λόγος που συμβαίνει αυτό είναι επειδή η κλήση api είναι ασύγχρονη, δεν συμπληρώνει την κατάσταση αμέσως, επομένως η απόδοση γίνεται πρώτα και προσπαθεί να διαβάσει. ρεύμα από την αρχική καιρική κατάσταση null. Λύση: στη μέθοδο απόδοσης, βεβαιωθείτε ότι δεν διαβάζετε τον καιρό.
Το useEffect εκτελείται πάντα στο Mount;
Σημαντικό: το άγκιστρο useEffect θα εκτελείται πάντα σε προσάρτηση ανεξάρτητα από το αν υπάρχει κάτι στον πίνακα εξάρτησής του. Πιθανότατα δεν θέλουμε να εκτελούμε αυτό το εφέ στα δεδομένα μας όταν δεν είναι καθορισμένα (όπως θα είναι στην αρχική απόδοση), αλλά μάλλον θέλουμε να περιμένουμε μέχρι να συμπληρωθεί από την κλήση API.