Κατανόηση των Invalidators στο React
Το Invalidator είναι ένα αντικείμενο JavaScript που σας επιτρέπει να ακυρώσετε (ή να επαναφέρετε) την κατάσταση ενός στοιχείου React. Όταν η κατάσταση ενός στοιχείου ακυρωθεί, το React θα αποδώσει ξανά το στοιχείο με την ενημερωμένη κατάσταση.
Με άλλα λόγια, ένα invalidator είναι ένας τρόπος να πείτε στο React ότι η κατάσταση ενός στοιχείου έχει αλλάξει και πρέπει να αποδοθεί ξανά.
Ακολουθούν μερικά περιπτώσεις κοινής χρήσης για ακυρωτές:
1. Όταν αλλάζουν δεδομένα: Εάν αλλάξουν τα δεδομένα που αποδίδει ένα στοιχείο, μπορείτε να χρησιμοποιήσετε ένα εργαλείο ακυρότητας για να πείτε στο React να αποδώσει ξανά το στοιχείο με τα ενημερωμένα δεδομένα.
2. Όταν αλλάζει ένα στοιχείο: Εάν αλλάξουν τα στηρίγματα ενός στοιχείου, μπορείτε να χρησιμοποιήσετε ένα εργαλείο ακυρότητας για να πείτε στο React να αποδώσει ξανά το στοιχείο με τα νέα στηρίγματα.
3. Όταν μια αλλαγή κατάστασης δεν ενεργοποιείται από μια αλλαγή στηρίγματος: Μερικές φορές, μπορεί να θέλετε να αποδώσετε ξανά ένα στοιχείο ακόμα κι αν τα στηρίγματα του δεν έχουν αλλάξει. Για παράδειγμα, εάν χρησιμοποιείτε μια μεταβλητή κατάστασης για την παρακολούθηση του αριθμού των στοιχείων σε μια λίστα και ο χρήστης προσθέτει ή αφαιρεί στοιχεία, μπορείτε να χρησιμοποιήσετε ένα εργαλείο ακυρότητας για να πείτε στο React να αποδώσει ξανά το στοιχείο με την ενημερωμένη κατάσταση.
4. Όταν ένα στοιχείο δεν είναι προσαρτημένο: Εάν ένα στοιχείο δεν είναι προσαρτημένο (δηλαδή έχει αφαιρεθεί από το DOM), μπορείτε να χρησιμοποιήσετε ένα εργαλείο ακυρότητας για να πείτε στο React να καθαρίσει τυχόν πόρους που χρησιμοποιούσε το στοιχείο.
Τα μη έγκυρα στοιχεία εφαρμόζονται συνήθως ως συναρτήσεις που επιστρέφουν μια δυαδική τιμή υποδεικνύοντας εάν η κατάσταση του στοιχείου έχει αλλάξει. Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να χρησιμοποιήσετε ένα μη έγκυρο στοιχείο σε ένα στοιχείο React:
```
ο μετρητής κλάσης επεκτείνει το React.Component {
state = { count: 0 };
invalidator = () => {
return this.state. count !== this.lastCount;
};
handleAdd = () => {
this.lastCount = this.state.count;
this.setState({ count: this.state.count + 1 });
} ;
render() {
return (
Count: {this.state.count}
);
}
}
```
Σε αυτό το παράδειγμα, η συνάρτηση «invalidator» επιστρέφει «true» εάν η κατάσταση του στοιχείου έχει αλλάξει και «false» διαφορετικά. Η συνάρτηση «handleAdd» ενημερώνει την κατάσταση του στοιχείου ορίζοντας το «lastCount» στην τρέχουσα μέτρηση και στη συνέχεια ενημερώνοντας την κατάσταση «count» με τη νέα τιμή. Όταν το στοιχείο αποδοθεί εκ νέου, το React θα καλέσει τη συνάρτηση "invalidator" για να ελέγξει εάν η κατάσταση έχει αλλάξει και, εάν ναι, θα αποδώσει ξανά το στοιχείο με την ενημερωμένη κατάσταση.



