我想知道是否可以将@State 类中的@Selectors 和/或@Action 处理程序抽象到一个单独的文件中?随着状态越来越大并且选择器越来越复杂,我想将它们移动到一个单独的文件中以保持状态类更干净。NGXS有什么办法吗?
编辑:为了将来参考,我在 NGXS 松弛频道上得到了答案,这确实是可能的。我们可以创建一个单独的选择器类来存储我们所有的选择器,将感兴趣的状态作为参数传递给它们。
export class EntityStateSelectors {
@Selector([EntityState])
thing(state: EntityStateModel) {
return state.thing;
}
}
到目前为止,我还没有弄清楚如何为动作处理程序做同样的事情,但是将选择器提取到一个单独的文件中已经清理了很多状态类!