Ngxs - Как предварительно заполнить состояние при загрузке приложения - PullRequest
0 голосов
/ 30 октября 2019

Я бы хотел установить состояние ngxs при загрузке приложения. Каков наилучший способ сделать это?

например, разрешить объект состояния в угловом APP_INITIALIZER, а затем ???

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Вы можете сделать HTTP-вызов для загрузки данных для состояния через ngxsOnInit ловушку жизненного цикла, см. Документацию по жизненному циклу здесь .

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

Нам нужно было ждать этого действия по двум причинам:

  • HTTP-сервисы, которые мыдля вызова требуется авторизационный токен, возвращаемый Login для аутентификации.
  • во многих случаях сервисы будут возвращать данные по умолчанию, относящиеся к конкретному пользователю.
0 голосов
/ 30 октября 2019

Вы можете использовать defaults из декоратора статистики (если он все время один и тот же при запуске) или просто заполнить состояние в APP_INITIALIZER, используя обычный store.dispatch

...