Size: a a a

Angular - русскоговорящее сообщество

2021 March 26

AR

Albert Rie in Angular - русскоговорящее сообщество

NGXS библиотека появилась 13 февраля 2018 года, ее разработчик — Остин Макдэниэл, сделал прекрасную вещь, которая использует концепцию Redux, шаблон проектирования CQRS, описанный Мартином Фаулером и следует архитектурному подходу Angular.


Пример из NGXS, кствти, мне кажется angular way. Сразу понятна механика

import { Select } from '@ngxs/store';
import { ZooState, ZooStateModel } from './zoo.state';

@Component({ ... })
export class ZooComponent {
 // Reads the name of the state from the state class
 @Select(ZooState) animals$: Observable<string[]>;

 // Uses the pandas memoized selector to only return pandas
 @Select(ZooState.pandas) pandas$: Observable<string[]>;

 // Also accepts a function like our select method
 @Select(state => state.zoo.animals) animals$: Observable<string[]>;

 // Reads the name of the state from the parameter
 @Select() zoo$: Observable<ZooStateModel>;
}
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
но как по мне поработав и с тем и с тем, в ngxs намного проще войти и сильно проще поддерживать
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
ну да, это сахар, а я сахар люблю
источник

AR

Albert Rie in Angular - русскоговорящее сообщество
Danil Beltsov
но как по мне поработав и с тем и с тем, в ngxs намного проще войти и сильно проще поддерживать
В табличке есть "В зоне Angular", но нет про angular way
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
а я думал что это как раз ===
источник

J

John in Angular - русскоговорящее сообщество
HELP
Не думал что столкнусь с этим, но не могу отписаться от subject обычного
источник

J

John in Angular - русскоговорящее сообщество
источник

J

John in Angular - русскоговорящее сообщество
Как компонент дропается в subjectService['socket'] перестает существовать, но подписка срабатывает
источник

AR

Albert Rie in Angular - русскоговорящее сообщество
Danil Beltsov
а я думал что это как раз ===
Странная формулировка, но может речь про zone.js?


NGRX
Эффекты работают в зоне Angular, это минус, потому что представьте ситуацию что при перехватывании какого-то экшена нужно сделать несколько запросов к API, а только потом вызвать dispatch:


Т.е. завязана с жизненным циклом приложения
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
не знаю
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
но вообще, как по мне
Эффекты работают в зоне Angular, это минус, потому что представьте ситуацию что при перехватывании какого-то экшена нужно сделать несколько запросов к API, а только потом вызвать dispatch:

это не по SOLID
источник

SD

Stanislav Dior in Angular - русскоговорящее сообщество
Danil Beltsov
но вообще, как по мне
Эффекты работают в зоне Angular, это минус, потому что представьте ситуацию что при перехватывании какого-то экшена нужно сделать несколько запросов к API, а только потом вызвать dispatch:

это не по SOLID
У меня как раз такая сейчас задача
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
стор это стор. Он должен хранить в себе стейт. И уметь гибко его записывать/читать.
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
общатья с апи это уже к сервисам, не нужно их логику тащить внутрь
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
ну это имхо
источник

В

Владимир in Angular - русскоговорящее сообщество
Dmitry Zakharov
:), где посмотреть про HttpInterceptor?
https://youtu.be/EzQNveqXX7Q  лови))) только что выложил. ПС - учти, что объяснение идет слушателю 12 лет)))
источник

AR

Albert Rie in Angular - русскоговорящее сообщество
Danil Beltsov
стор это стор. Он должен хранить в себе стейт. И уметь гибко его записывать/читать.
Тогда, отвечая на вопрос, NGXS более angular way, т.к. использует принятые механики в Angular (декораторы, DI и понятен разработчику Angular который в первый раз видит библиотеку) 🙂
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
спс, все встало на свои места
источник

ИК

Игорь Кацуба... in Angular - русскоговорящее сообщество
Albert Rie
Тогда, отвечая на вопрос, NGXS более angular way, т.к. использует принятые механики в Angular (декораторы, DI и понятен разработчику Angular который в первый раз видит библиотеку) 🙂
ИМХО Akita более angular-way'ная либа
источник

DB

Danil Beltsov in Angular - русскоговорящее сообщество
у нас akita не прижилась, но я не интересовался почему. Это было задолго до меня
источник