createEntityAdapter时如何通过ID选择实体

时间:2019-05-27 08:00:08

标签: redux ngrx

我试图了解选择器如何在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动作)来执行此操作?

0 个答案:

没有答案