Когда в проекте стоит использовать ExpressionChangedAfterItHasBeenCheckedError, а когда лучше выбрать другой подход?
Что хотят услышать интервьюеры:
ExpressionChangedAfterItHasBeenCheckedError — это ошибка, когда значение меняется после проверки view в текущем цикле.
Ответ:
Использовать стоит: когда задача действительно требует этого механизма и есть понятный контракт использования.
Лучше не использовать: когда простое состояние, обычный компонент или сервис решают задачу проще.
Пример:
ngOnInit() {
this.load();
}
ngOnDestroy() {
this.sub.unsubscribe();
} Риск: лечить ошибку setTimeout-ом без анализа причины.