Угловое 2: Разница между сервисом и сокращением

В чем заключается необходимость в избыточности, потому что мы также можем сохранять и получать данные от служб, насколько я понимаю, мы также можем получать и сохранять данные в службах, и эти службы могут использоваться другими компонентами.

Ответы

Ответ 1

Вам не нужна редукция, но вам нужен способ поддержания состояния. Служба будет работать, но в конце вы отправите что-то похожее на магазин redux или ngrx.

Рассмотрите проблему. У вас есть данные, поступающие асинхронно. Вы хотите, чтобы это было реактивным. Вы хотите иметь обработку ошибок. Вы хотите, чтобы состояния ожидания были обновлены. У вас есть каскадные сценарии, когда одно событие запускает несколько действий, каждый из которых имеет свои собственные задержки и пути ошибок.

И вы хотите настроить шаблон, который можно использовать в нескольких компонентах.

У Виктора Савкина есть способ сделать это с наблюдаемыми, которые очень скользкие. У Ngrx есть другой путь.

Я написал умеренно сложный компонент, используя службу. Все нормально. Часы исчезнут в отслеживании некоторых странных ситуаций, когда состояние было неопределенным и забросило ошибки. Я слишком сильно попадал в сорняки, чтобы иметь что-то многоразовое, как образец. И результат был хрупким и хрупким. Это не было полностью реактивным, и сделать это оказалось чрезвычайно сложным и трудоемким. Я портировал его на ngrx, и как только кривая обучения преодолена, что не является тривиальным, код стал проще и полностью инструментальным, позволяющим быстро отлаживать.

YMMV.

У Виктора Савкина есть статья о том, как поддерживать состояние

Ответ 2

Служба представляет собой детальную детализацию. В то время как redux является архитектурной концепцией. Эти два не сопоставимы напрямую.

Если вам интересно, как redux можно применить к Angular, я бы рекомендовал прочитать " Комплексное введение в @ngrx/store.

Ответ 3

Служба - это функция "Угловая", которая позволит пользователю управлять своими общими методами и свойствами. Но шаблон состояния, который обеспечивает структурированный способ управления нашим состоянием приложения (свойства, которые обычно используются в приложении).

Если вам интересно наклонить шаблон "Угловое состояние", я бы порекомендовал @ngrx/store && @ngxs/store. оба будут хорошими. я бы предложил ngxs который проще, чем сравнивать реализацию @ngrs/store и у него есть четкая документация для изучения.