체인지 디텍션 전략 구성
Angular 애플리케이션을 개발할 때, 컴포넌트 간 데이터가 변경될 때 이를 감지하여 적절한 로직을 수행하는 체인지 디텍션 전략을 설정해야 합니다. 이전에는 기본적으로 ChangeDetectionStrategy.Default
가 사용되었지만, 고성능을 원하는 경우 ChangeDetectionStrategy.OnPush
를 고려할 수 있습니다.
ChangeDetectionStrategy.Default vs ChangeDetectionStrategy.OnPush
ChangeDetectionStrategy.Default
는 컴포넌트가 변경 검사를 실행할 때, 해당 컴포넌트와 그 자식 컴포넌트에 대해 전체 변경 검사를 수행합니다. 따라서, 컴포넌트나 부모 컴포넌트 중 하나가 변경되었을 때, 모든 자식 컴포넌트가 변경 검사를 수행합니다.
반면, ChangeDetectionStrategy.OnPush
는 컴포넌트의 입력 바인딩이 변경되었거나 EventEmitter
를 통해 이벤트가 발생할 때만 변경 검사를 수행합니다. 이로써 컴포넌트 트리 내에서 변경되지 않은 부분은 변경 검사를 수행하지 않아 성능이 향상됩니다.
적절한 전략 구성
ChangeDetectionStrategy.OnPush
를 적용하여 변경 검사의 빈도를 줄이고 성능을 향상시킬 수 있지만, 올바르게 구성하지 않으면 예상치 못한 동작이 발생할 수 있습니다. 이에 따라 컴포넌트의 입력과 상태를 조정하여 올바르게 ChangeDetectionStrategy.OnPush
를 적용하는 것이 중요합니다.
import { ChangeDetectionStrategy, Component } from '@angular/core';
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ExampleComponent {
// 컴포넌트의 입력과 상태 설정
}
Angular 애플리케이션에서 적절한 변경 검사 전략을 구성하여 성능을 최적화하고 예기치 않은 문제를 방지할 수 있습니다.
더 자세한 정보는 Angular 공식 문서를 참고하세요. ```