Когда в проекте стоит использовать ExpressionChangedAfterItHasBeenCheckedError, а когда лучше выбрать другой подход?

AngularMiddle+Lifecycle and Change DetectionТеорияangularerrorchange-detectionmiddleplus

Что хотят услышать интервьюеры:

ExpressionChangedAfterItHasBeenCheckedError — это ошибка, когда значение меняется после проверки view в текущем цикле.

Ответ:

Использовать стоит: когда задача действительно требует этого механизма и есть понятный контракт использования.

Лучше не использовать: когда простое состояние, обычный компонент или сервис решают задачу проще.

Пример:

ngOnInit() {
  this.load();
}
ngOnDestroy() {
  this.sub.unsubscribe();
}

Риск: лечить ошибку setTimeout-ом без анализа причины.

Источники

Похожие вопросы