问题描述
在这方面转圈。每当我似乎使用选择器时,它都是不确定的。我检查了其他帖子以及我已经缺少的代码。使用选择器时,我总是变得不确定。我也有ngrx devtools安装程序。任何帮助将不胜感激。
组件:
import * as fromBusiness from '@app/@store/reducers/index';
ngOnInit(): void {
const id = this.params.id;
this.business$ = this.store.pipe(select(fromBusiness.getBusinessEntityById(),{ id }))
.pipe(
map((business: BusinessModel) => {
return this.business = business;
}),);
console.log(this.business);
}
功能模块
StoreModule.forFeature('businesses',fromBusiness.businessFuncReducer),
减速器:
export interface State extends EntityState<BusinessModel> {}
export const adapter: EntityAdapter<BusinessModel> = createEntityAdapter<
BusinessModel
>( {
selectId: (business: BusinessModel) => business.id,});
export const initialState = adapter.getInitialState({});
export const businessReducer = createReducer(
initialState,//reducer methods here,upsertone,addone etc
);
export function businessFuncReducer(state: State | undefined,action: Action) {
return businessReducer(state,action);
}
export const businessFeatureSelector = createFeatureSelector<State>(
'businesses'
);
export const {
selectIds,selectEntities,selectAll,selectTotal,} = adapter.getSelectors();
export const getAllBusinesses = createSelector(
businessFeatureSelector,selectAll
);
reducer.index.ts
export interface State {
business: fromBusiness.State;
}
export const selectBusinessState = createFeatureSelector<fromBusiness.State>(
'businesses'
);
export const selectBusinessEntities = createSelector(
selectBusinessState,fromBusiness.selectEntities
);
export const getBusinessEntityById = () => {
return createSelector(
selectBusinessEntities,(entities: Dictionary<BusinessModel>,props: {id: string}) => {
return entities[props.id];
},);
};
对此表示感谢。花了2天没有解决方案。附件是devtools树的屏幕截图。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)