Porozumění Invalidators v Reactu
Invalidator je objekt JavaScriptu, který vám umožňuje zneplatnit (nebo resetovat) stav komponenty React. Když je stav komponenty zneplatněn, React znovu vykreslí komponentu s aktualizovaným stavem. běžné případy použití pro znehodnocovače:
1. Když se data změní: Pokud se změní data, která komponenta vykresluje, můžete pomocí zneplatňovače říci Reactu, aby znovu vykreslil komponentu s aktualizovanými daty.
2. Když se rekvizita změní: Pokud se rekvizity komponenty změní, můžete použít zneplatňovač, abyste Reactu řekli, aby komponentu znovu vykreslil s novými rekvizitami.
3. Když změna stavu není spuštěna změnou podpěry: Někdy můžete chtít znovu vykreslit komponentu, i když se její podpěry nezměnily. Pokud například používáte proměnnou stavu ke sledování počtu položek v seznamu a uživatel přidá nebo odebere položky, můžete pomocí zneplatňovače říci Reactu, aby znovu vykreslil komponentu s aktualizovaným stavem.
4. Když je komponenta odpojena: Pokud je komponenta odpojena (tj. je odstraněna z DOM), můžete pomocí zneplatňovače říct Reactu, aby vyčistil všechny prostředky, které komponenta používala. indikující, zda se změnil stav součásti. Zde je příklad toho, jak můžete použít zneplatňovač v komponentě React:
```
class Counter rozšiřuje 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 (
Počet: {this.state.count}
);
}
}
```
V tomto příkladu funkce `invalidátor` vrací `true`, pokud se stav komponenty změnil, a `false` jinak. Funkce `handleAdd` aktualizuje stav komponenty nastavením `lastCount` na aktuální počet a poté aktualizuje stav `count` novou hodnotou. Když je komponenta znovu vykreslena, React zavolá funkci „invalidator“, aby zkontrolovala, zda se stav změnil, a pokud ano, znovu vykreslí komponentu s aktualizovaným stavem.



