В чем заключается необходимость в избыточности, потому что мы также можем сохранять и получать данные от служб, насколько я понимаю, мы также можем получать и сохранять данные в службах, и эти службы могут использоваться другими компонентами.
Угловое 2: Разница между сервисом и сокращением
Ответ 1
Вам не нужна редукция, но вам нужен способ поддержания состояния. Служба будет работать, но в конце вы отправите что-то похожее на магазин redux или ngrx.
Рассмотрите проблему. У вас есть данные, поступающие асинхронно. Вы хотите, чтобы это было реактивным. Вы хотите иметь обработку ошибок. Вы хотите, чтобы состояния ожидания были обновлены. У вас есть каскадные сценарии, когда одно событие запускает несколько действий, каждый из которых имеет свои собственные задержки и пути ошибок.
И вы хотите настроить шаблон, который можно использовать в нескольких компонентах.
У Виктора Савкина есть способ сделать это с наблюдаемыми, которые очень скользкие. У Ngrx есть другой путь.
Я написал умеренно сложный компонент, используя службу. Все нормально. Часы исчезнут в отслеживании некоторых странных ситуаций, когда состояние было неопределенным и забросило ошибки. Я слишком сильно попадал в сорняки, чтобы иметь что-то многоразовое, как образец. И результат был хрупким и хрупким. Это не было полностью реактивным, и сделать это оказалось чрезвычайно сложным и трудоемким. Я портировал его на ngrx, и как только кривая обучения преодолена, что не является тривиальным, код стал проще и полностью инструментальным, позволяющим быстро отлаживать.
YMMV.
У Виктора Савкина есть статья о том, как поддерживать состояние
Ответ 2
Служба представляет собой детальную детализацию. В то время как redux является архитектурной концепцией. Эти два не сопоставимы напрямую.
Если вам интересно, как redux можно применить к Angular, я бы рекомендовал прочитать " Комплексное введение в @ngrx/store
.
Ответ 3
Служба - это функция "Угловая", которая позволит пользователю управлять своими общими методами и свойствами. Но шаблон состояния, который обеспечивает структурированный способ управления нашим состоянием приложения (свойства, которые обычно используются в приложении).
Если вам интересно наклонить шаблон "Угловое состояние", я бы порекомендовал @ngrx/store
&& @ngxs/store
. оба будут хорошими. я бы предложил ngxs
который проще, чем сравнивать реализацию @ngrs/store
и у него есть четкая документация для изучения.