


React의 무효화기 이해
Invalidator는 React 구성 요소의 상태를 무효화(또는 재설정)할 수 있는 JavaScript 객체입니다. 구성 요소의 상태가 무효화되면 React는 업데이트된 상태로 구성 요소를 다시 렌더링합니다. 즉, 무효화기는 구성 요소의 상태가 변경되어 다시 렌더링해야 함을 React에 알리는 방법입니다. 무효화자의 일반적인 사용 사례:
1. 데이터가 변경되는 경우: 구성 요소가 렌더링하는 데이터가 변경되면 무효화기를 사용하여 React에 업데이트된 데이터로 구성 요소를 다시 렌더링하도록 지시할 수 있습니다.
2. prop이 변경될 때: 컴포넌트의 props가 변경되면 무효화기를 사용하여 React에 새 props로 컴포넌트를 다시 렌더링하도록 지시할 수 있습니다.
3. 상태 변경이 소품 변경으로 인해 발생하지 않는 경우: 때로는 소품이 변경되지 않았더라도 구성 요소를 다시 렌더링해야 할 수도 있습니다. 예를 들어, 상태 변수를 사용하여 목록의 항목 수를 추적하고 사용자가 항목을 추가하거나 제거하는 경우 무효화기를 사용하여 React에 업데이트된 상태로 구성 요소를 다시 렌더링하도록 지시할 수 있습니다. 구성 요소가 마운트 해제된 경우: 구성 요소가 마운트 해제된 경우(즉, DOM에서 제거된 경우) 무효화기를 사용하여 구성 요소가 사용 중이던 모든 리소스를 정리하도록 React에 지시할 수 있습니다. Invalidator는 일반적으로 부울 값을 반환하는 함수로 구현됩니다. 구성 요소의 상태가 변경되었는지 여부를 나타냅니다. 다음은 React 구성 요소에서 무효화 장치를 사용할 수 있는 방법에 대한 예입니다.
```
class Counter 확장 React.Component {
state = { count: 0 };
무효화기 = () => {
return this.state. count !== this.lastCount;
};
handlerAdd = () => {
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` 함수를 호출하여 상태가 변경되었는지 확인하고, 변경된 경우 업데이트된 상태로 컴포넌트를 다시 렌더링합니다.



