[angular] OnPush 변경 감지 전략
Angular는 변경 감지 전략을 통해 효과적인 성능을 제공합니다. 한 가지 특별한 전략은 OnPush
전략으로, 이를 통해 애플리케이션 성능을 향상시킬 수 있습니다.
변경 감지 전략
변경 감지란 Angular가 컴포넌트의 상태를 모니터하고 상태 변경 시 화면을 갱신하는 것을 말합니다. 기본적으로 Angular는 컴포넌트와 관련된 이벤트나 서비스의 상태 변경을 모니터하여 화면을 갱신합니다.
OnPush 변경 감지 전략
OnPush
전략을 사용하면 Angular는 컴포넌트의 @Input
속성이나 컴포넌트 내부 상태가 변경될 때만 변경 감지를 수행합니다. 컴포넌트가 변화하지 않는 이상, Angular는 변경 감지를 자동으로 수행하지 않습니다.
이 전략을 사용하면 불필요한 변경 감지를 줄여 성능을 향상시킬 수 있습니다. 특히 애플리케이션의 대규모 데이터나 복잡한 화면 상황에서 유용합니다.
OnPush 전략 적용 방법
컴포넌트에 OnPush 전략을 적용하려면 changeDetection
프로퍼티를 사용합니다.
예를 들어, 다음과 같이 changeDetection
프로퍼티를 사용하여 OnPush
전략을 적용할 수 있습니다.
import { Component, ChangeDetectionStrategy } from '@angular/core';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class MyComponent {
// 컴포넌트 코드
}
간단한 설정으로 OnPush 전략을 적용하여 애플리케이션의 성능을 향상시킬 수 있습니다.
결론
OnPush 변경 감지 전략은 Angular 애플리케이션의 성능을 최적화하는 데 도움을 줍니다. 컴포넌트에서 불필요한 변경 감지를 줄이고 성능을 향상시키고자 한다면, OnPush
전략을 고려해보세요.
참고문헌:
- https://angular.kr/guide/lifecycle-hooks#onchanges
- https://angular.kr/guide/change-detection#onpush-change-detection-strategy