Forstå Invalidators in React
Invalidator er et JavaScript-objekt som lar deg ugyldiggjøre (eller tilbakestille) tilstanden til en React-komponent. Når en komponents tilstand er ugyldig, vil React gjengi komponenten med den oppdaterte tilstanden.
Med andre ord er en invalidator en måte å fortelle React at tilstanden til en komponent har endret seg og må gjengis på nytt.
Her er noen vanlige brukstilfeller for invalidatorer:
1. Når data endres: Hvis dataene som en komponent gjengir endres, kan du bruke en invalidator for å fortelle React om å gjengi komponenten med de oppdaterte dataene.
2. Når en rekvisitt endres: Hvis en komponents rekvisitter endres, kan du bruke en invalidator for å fortelle React om å gjengi komponenten med den nye props.
3. Når en tilstandsendring ikke utløses av en rekvisittendring: Noen ganger vil du kanskje gjengi en komponent på nytt selv om rekvisittene ikke har endret seg. For eksempel, hvis du bruker en tilstandsvariabel for å spore antall elementer i en liste, og brukeren legger til eller fjerner elementer, kan du bruke en invalidator for å fortelle React om å gjengi komponenten med den oppdaterte tilstanden.
4. Når en komponent er avmontert: Hvis en komponent er avmontert (dvs. fjernet fra DOM), kan du bruke en invalidator for å fortelle React å rydde opp i alle ressurser som komponenten brukte.
Invalidatorer er vanligvis implementert som funksjoner som returnerer en boolsk verdi som indikerer om komponentens tilstand har endret seg. Her er et eksempel på hvordan du kan bruke en invalidator i en React-komponent:
```
class Counter utvider React.Component {
state = { count: 0 };
invalidator = () => {
return this.state. telle !== this.lastCount;
};
handleAdd = () => {
this.lastCount = this.state.count;
this.setState({ count: this.state.count + 1 });
} ;
render() {
return (
Tell: {this.state.count}
);
}
}
```
I dette eksemplet returnerer 'invalidator'-funksjonen 'true' hvis komponentens tilstand er endret, og 'false' ellers. `handleAdd`-funksjonen oppdaterer komponentens tilstand ved å sette `lastCount` til gjeldende telling, og deretter oppdatere `count`-tilstanden med den nye verdien. Når komponenten er gjengitt på nytt, vil React kalle "invalidator"-funksjonen for å sjekke om tilstanden har endret seg, og i så fall vil den gjengi komponenten med den oppdaterte tilstanden.



