Invalidatorsin ymmärtäminen Reactissa
Invalidator on JavaScript-objekti, jonka avulla voit mitätöidä (tai nollata) React-komponentin tilan. Kun komponentin tila mitätöidään, React hahmontaa komponentin uudelleen päivitetyssä tilassa.
Toisin sanoen mitätöinti on tapa kertoa Reactille, että komponentin tila on muuttunut ja se on hahmonnettava uudelleen.
Tässä on joitain yleisiä käyttötapauksia mitätöijille:
1. Kun tiedot muuttuvat: Jos komponentin renderöimät tiedot muuttuvat, voit käyttää mitätöintiä ja käskeä Reactia renderöimään komponentin uudelleen päivitetyillä tiedoilla.
2. Kun rekvisiitta muuttuu: Jos komponentin rekvisiitta muuttuu, voit käyttää mitätöintiä ja käskeä Reactia renderöimään komponentin uudelleen uusilla rekvisiitillä.
3. Kun tilanmuutosta ei laukaise potkurin muutos: Joskus saatat haluta hahmontaa komponentin uudelleen, vaikka sen rekvisiitta ei olisi muuttunut. Jos esimerkiksi käytät tilamuuttujaa luettelon kohteiden määrän seuraamiseen ja käyttäjä lisää tai poistaa kohteita, voit käyttää mitätöintiä käskeäksesi Reactia hahmottamaan komponentin uudelleen päivitetyssä tilassa.
4. Kun komponentti on irrotettu: Jos komponentti on irrotettu (eli poistettu DOM:sta), voit käyttää mitätöintiä käskeäksesi Reactia puhdistamaan komponentin käyttämät resurssit.
Invalidaattorit toteutetaan yleensä funktioina, jotka palauttavat loogisen arvon. osoittaa, onko komponentin tila muuttunut. Tässä on esimerkki siitä, kuinka voit käyttää mitätöintiä React-komponentissa:
```
class Laskuri laajentaa 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 (
Laskuri: {this.state.count}
);
}
}
```
Tässä esimerkissä "invalidator"-funktio palauttaa "true", jos komponentin tila on muuttunut, ja "false" muussa tapauksessa. "HandleAdd"-funktio päivittää komponentin tilan asettamalla "lastCount" nykyiseen laskuriin ja päivittämällä sitten "count"-tilan uudella arvolla. Kun komponentti hahmonnetaan uudelleen, React kutsuu "invalidator"-funktiota tarkistaakseen, onko tila muuttunut, ja jos on, se hahmontaa komponentin uudelleen päivitetyssä tilassa.



