Допустим, я определил два состояния:
Первое в модуле приложения
NgxsModule.forRoot([AppState])
Второе в функциональном модуле
NgxsModule.forFeature([FeatureState])
Согласно Redux devинструмент, глобальное состояние:
{
app: {},
feature: {
animals: []
}
}
Чтобы выбрать срез состояния, я могу использовать декоратор выбора:
@Select(state => state.feature.animals) animals$: Observable<string[]>;
Проблема в том, что переменная состояния не имеет типов: нет типапроверки, отсутствие автозаполнения и т. д.
Одно из решений - явное приведение выбранного подсостояния:
@Select((state => state.feature as FeatureState).animals) animals$: Observable<string[]>;
Есть ли лучшее решение?