我正在学习一些ngrx教程,我想我已经开始集中注意力了。
我不明白的是如何做一些简单的事情,例如从以下位置获取值Store:
目标:无需亲自去商店就能获得价值subscribe。即:store.myStoreProperty或store.getValue(<selector>)或?
据我了解,从商店获取价值的唯一方法是执行以下操作:
private readonly _store: Store<ApplicationState>;
// ...
this._store.select(state => state.currentUser).subscribe(user => {
if (!user) { return; }
// ...
});
Run Code Online (Sandbox Code Playgroud)
问题:是否有任何可能的方法可以“立即”从商店获取值而无需订阅?
我可能只是很难理解选择器,但我认为这就是它们的用途。文档中的示例:
import { createSelector } from '@ngrx/store';
export interface FeatureState {
counter: number;
}
export interface AppState {
feature: FeatureState;
}
export const selectFeature = (state: AppState) => state.feature;
export const selectFeatureCount = createSelector(
selectFeature,
(state: FeatureState) => state.counter
);
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想我可以直接调用selectFeature …