NGXS / ngrx поможет вам управлять состоянием в вашем приложении.Это может включать важные вещи, такие как фактические данные, или неважные элементы, такие как состояние флажка, выбор в раскрывающемся списке.
В больших приложениях, где вы хотите узнать точное состояние пользовательского интерфейса,Библиотека управления состоянием может быть полезна, поскольку она предлагает неизменный пользовательский интерфейс над наблюдаемой, на которую вы можете реагировать.
В вашем случае Firestore может хранить ваши данные и предоставлять источник событий (наблюдаемый), когда вашизменения данных.Но это ваши фактические, важные данные.Вы не будете хранить в firestore фильтр, который пользователь поместил в сетку данных.Вы не будете хранить там, текущий маршрут маршрутизатора или цвет темы, которую он хотел для приложения.
NGXS может хранить эту часть вашего состояния, которую не должно хранить хранилище огня.Если вы не используете NGXS, то вы не управляете этим состоянием, что может или не может быть важным (если вы не слишком возражаете против несоответствий в UI / UX, это не имеет большого значения)
Предположим, что вас не слишком волнует состояние тупого пользовательского интерфейса (цвета кнопок и т. Д.).
Помещение состояния вашего пожарного хранилища в избыточное хранилище дает следующие преимущества:
Вы абстрагируетесь над пожарным магазином.Если завтра вы решите, что firestore слишком дорогой или waterstore работает лучше, вы можете переключиться на него, и ваше приложение не узнает разницы, потому что ваше приложение зависит от NGXS.
Другие разработчики, которые знают, как работать с Redux, могут более легко рассуждать о вашем приложении.
Вы полностью контролируете свое состояние, а не Firestore.Пожарная лавка, как бы она ни была велика, - это своего рода черный ящик.С NGXS вы можете полностью управлять, когда что-то меняется в вашем приложении, и иметь соответствующее действие, которое вызвало это.Например, при возникновении ошибки можно отправить предыдущие 10 состояний + последнее действие на сервер журналирования и воспроизвести его на своем компьютере.С Firestore вы не знаете, как и почему произошли изменения.