Ngrx select 运算符不起作用
Ngrx select operator does not work
我的ngrx store有问题,奇怪的问题!
select 操作符不调用回调函数,当我订阅商店时,我可以看到应用程序的状态(初始状态和修改后的状态)
export class PatternsViewComponent implements OnInit {
patternsCategoryList$:Observable<string[]>;
// selectedPatternCategory$:Observable<string>;
constructor(private store: Store<ApplicationState>) {
this.store.select(mapToDataToSources);
}
ngOnInit() {
}
}
export function mapToDataToSources(state:ApplicationState) :String[]{
debugger;
console.log(state.uiStoreData.patterns);
return state.uiStoreData.patterns;
}
因为您的 observable(select 的结果)是冷的,所以没有订阅它。
尝试:
this.store.select(mapToDataToSources).subscribe(); // added .subscribe()
如果您在视图中使用 observable,通过异步管道传输它就足够了,订阅变得多余。
小心这样的设置。
为此,nrgx 具有 createSelector 方法。您应该使用它来创建 selectors 以供稍后通过 store.select(whateverSelector) 使用的部分商店使用。
请记住,store.select 不会直接 select 商店的某些部分,而是实际上会通过 select 或者 createSelector returns(处理转换部分商店进入 Observbles)。
我的ngrx store有问题,奇怪的问题! select 操作符不调用回调函数,当我订阅商店时,我可以看到应用程序的状态(初始状态和修改后的状态)
export class PatternsViewComponent implements OnInit {
patternsCategoryList$:Observable<string[]>;
// selectedPatternCategory$:Observable<string>;
constructor(private store: Store<ApplicationState>) {
this.store.select(mapToDataToSources);
}
ngOnInit() {
}
}
export function mapToDataToSources(state:ApplicationState) :String[]{
debugger;
console.log(state.uiStoreData.patterns);
return state.uiStoreData.patterns;
}
因为您的 observable(select 的结果)是冷的,所以没有订阅它。
尝试:
this.store.select(mapToDataToSources).subscribe(); // added .subscribe()
如果您在视图中使用 observable,通过异步管道传输它就足够了,订阅变得多余。
小心这样的设置。
为此,nrgx 具有 createSelector 方法。您应该使用它来创建 selectors 以供稍后通过 store.select(whateverSelector) 使用的部分商店使用。
请记住,store.select 不会直接 select 商店的某些部分,而是实际上会通过 select 或者 createSelector returns(处理转换部分商店进入 Observbles)。