我试图了解选择器如何在ngrx和实体中工作。
我有以下代码
export interface IDrone {
id: string;
name: string;
}
export const featureAdapter: EntityAdapter<IDrone> = createEntityAdapter<IDrone>({
selectId: model => model.id,
});
export const initialState: State = featureAdapter.getInitialState({
selectedDrone: null,
isLoading: false,
error: null
});
我想创建一个选择器,该选择器将更改我的商店中的selectedDrone。我正在尝试这样做:
export const getDroneById = (id: string): IDrone => featureAdapter.selectId(id);
但是selectId中期望的参数是IDrone
,我找不到修改它的方法。
我的问题是,如果我想让组件更改所选的无人机,那么基本上从本质上来说,要在商店中检查ID是否存在,如果存在,请调度一个操作“ SelectDrone”,是否应该使用选择器呢?还是应该通过组件中的函数(检查无人机是否存在,然后仅调度select动作)来执行此操作?