Мне было интересно, можно ли абстрагировать обработчики @Selectors и / или @Action из класса @State в отдельный файл? По мере увеличения состояния и усложнения селекторов я бы хотел переместить их в отдельный файл, чтобы обеспечить чистоту класса состояний. Есть ли способ сделать это в NGXS?
Редактировать : для дальнейшего использования я получил ответ на слабом канале NGXS, и это действительно возможно. Мы можем создать отдельный класс селекторов, где будут храниться все наши селекторы, передавая им интересующее состояние в качестве аргумента.
export class EntityStateSelectors {
@Selector([EntityState])
thing(state: EntityStateModel) {
return state.thing;
}
}
На данный момент я до сих пор не понял, как сделать то же самое для обработчиков действий, но выделение селекторов в отдельный файл уже сильно очистило класс состояний!