假设我定义了两种状态:
应用程序模块中的第一个
NgxsModule.forRoot([AppState])
功能模块中的第二个
NgxsModule.forFeature([FeatureState])
根据Redux开发工具,全局状态为
{
app: {},
feature: {
animals: []
}
}
要选择状态切片,我可以使用select装饰器:
@Select(state => state.feature.animals) animals$: Observable<string[]>;
问题在于状态变量没有类型:没有类型检查,没有自动完成等
一种解决方案是显式转换选定的子状态:
@Select((state => state.feature as FeatureState).animals) animals$: Observable<string[]>;
有更好的解决方案吗?