Pull to refresh

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, после чего на каждый чих будут многократно дергаться серверные запросы или тяжелые калькуляции.

Да и в целом использование библиотеки RxJS не является обязательным условием для работы с данным фреймворком. Если оно по какой-то причине не устраивает или просто не нравится, то можно прекрасно обойтись без нее.

Дословный перевод без понимания сути дела.
Одно только "использование trackBy вместо ngFor" чего стоит.

Sign up to leave a comment.