Comments 5
"Использование take(1)" - тут надо быть осторожным, это не замена unsubscribe. Если вы подпишитесь на Observable и передадите в .pipe(take(1)), то если он в ходе жизни вашего компонента не передаст ни одного значения, вы все еще останетесь на него подписанным, даже если компонент будет уничтожен. Надежнее использовать unsubscribe() или takeUntil().
Ну и следите за обновлениями, начиная с Angular 16, можно использовать .pipe(takeUntilDestroyed());
https://blog.angular.io/angular-v16-is-here-4d7a28ec680d
"Они позволяют сэкономить огромное количество байт памяти при создании крупномасштабного приложения, посещаемого тысячами пользователей." - странная фраза, огромное количество байт - это сколько? 100? 1000? 1000000 байт? И при чем тут крупномасштабность приложения и количество его пользователей, если, как правило, код выполняется на клиенте?
"Async Pipes — это встроенные атрибуты." - что за встроенные атрибуты? Это обычный Angular Pipe, упрощающий работу с Observables.
"Не сортируйте и не фильтруйте данные в пайпе" - в целом, зависит от примера использования, если массивы мелкие и changeDetection установлен в OnPush - то не так уж страшно.
"Используйте NgIf, а не CSS" - может быть вредным советом, часто куда проще и производительнее скрыть какой-то компонент с помощью CSS, чем каждый раз создавать новый и позволять ему проходить новый lifecycle
"Используйте index.ts" - к Angular-у совет отношение не имеет, это уже косметика на уровне TypeScript. Хотите пути еще короче - объявите их в config-e в разделе path https://www.typescriptlang.org/tsconfig#paths
Да там всё в таком же духе, правда эта претензия к оригиналу.
> trackBy вместо ngFor
Не вместо, а вместе.
И вообще причем здесь 2023, бОльшая часть тривиальных советов из официальной доки 2016 года + парочка мелких "лайфхаков".
И кругом преждевременные оптимизации, типа использовать OnPush...хотя лучше бы указали на то, как легко накосячить в цепочки rxjs, после чего на каждый чих будут многократно дергаться серверные запросы или тяжелые калькуляции.
Дословный перевод без понимания сути дела.
Одно только "использование trackBy вместо ngFor" чего стоит.
Angular: Лучшие практики на 2023 год