в компоненте?
Стор? Или именно стейт?
А стор это совокупность стейтов или стейт это совокупность сторов?
Store (storage), как следует из названия, - хранитель. State - состояние. Логично, что состояние хранится в хранителе, а не наоборот
о благодарю за ликбез! хотелось бы внутри компонента использовать "локальную" копию конкретного стейта, но согласен и на возможность запровайдить стор с необходимыми состояниями. кажется в ngrx такая фича называется component-store. но вот у ngxs похоже нет ничего подобного
Если вам нужен локальный стейт который умрет вместе с компонентом, то по-моему в ngxs по дефолту такого нет. Можно посмотреть дополнения
да, нужно изолировать стейт используемый компонентом от глобального. нашел у них пока только не закрытую issue на эту тему
У меня средний проект, локальный стейт организуем через проперти, bSubject или локальный сервис, проблем не знаем
а можно взглянуть на пример простенького сервиса?
Не совсем простенький, но все же. Трекер изменений для айтемов таблицы, похожий по принципу на formControl, можно получить текущее состояние, дифф, оригинальное состояние. Создаётся вместе с компонентом, умирает тоже. В процессе сам регистрируется в гардах чтобы не закрылась страничка с несохраненными изменениями
сабджекты приватные внутри сервиса?
регистрируется в гардах это как о.О и зачем. canDeactivate имеет доступ к компоненту, который закрывается
Ну так-то да, часть внешнего api - пайпы от состояния
в сервисе одно состояние или несколько?
Ну вот такое вот архитектурное решение, там просто какие-то проблемы с canDeactivate и сменой роута, потому логика чуть усложнена
диффы? а есть какая то утилитарная функция которую используете в методах сервиса для быстрого обновления каких то параметров в стостоянии. просто это не всегда удобно - обновлять конкретно какие то вложенные параметры
а как реализованы методы которые типа "Экшны" - например "получить данные и запихнуть их в стейт"? можно ли их вызывать без подписки?
Методами обычными
Большая часть того, что вы спрашиваете нам не нужна, мы ее не делали
ну в ваших сервисах с состоянием наверное есть методы которые обращаются за данными во вне?
Сервис получает начальное состояние из компонента (а тот - из api сервиса), изменения тоже делает компонент (пользователь), а сам сервис никуда не обращается
ого, понятно теперь. я предполагал что ваши сервисы-стейты сами лезут в апи за данными
Обсуждают сегодня