Абстрагирование селекторов и обработчиков действий от состояния - PullRequest
0 голосов
/ 27 августа 2018

Мне было интересно, можно ли абстрагировать обработчики @Selectors и / или @Action из класса @State в отдельный файл? По мере увеличения состояния и усложнения селекторов я бы хотел переместить их в отдельный файл, чтобы обеспечить чистоту класса состояний. Есть ли способ сделать это в NGXS?

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

export class EntityStateSelectors {
  @Selector([EntityState])
  thing(state: EntityStateModel) {
    return state.thing;
  }
}

На данный момент я до сих пор не понял, как сделать то же самое для обработчиков действий, но выделение селекторов в отдельный файл уже сильно очистило класс состояний!

...