NgXS. Разница между store.dispatch () и context.dispatch ()? - PullRequest
1 голос
/ 20 января 2020

В NgXS у меня есть два способа вызвать событие из состояния в другое состояние:

  1. Вызвать dispatch () из глобального хранилища
  2. Вызвать dispatch () из объекта StateContext внутри Состояние

В чем разница между двумя способами? Какой метод лучше и почему? Например,

//== state action

@Action()
doAny(context: StateContext<MyContextModel>, payload: any): void {
  context.dispatch(new AnotherStateAction());
  // this._store.dispatch(new AnotherStateAction()); this code will do the same
}

Документы: https://www.ngxs.io/concepts/state#dispatching-действий-от-действий

1 Ответ

0 голосов
/ 20 января 2020

Насколько я понимаю, эти методы используют один и тот же внутренний метод службы InternalStateOperations:

Тем не менее, _store член, по-видимому, рассматривается как закрытый (т. е. API ненадежен для внешнего использования даже для методов класса состояний), поэтому я предлагаю использовать экземпляр StateContext для диспетчеризации.

...