как выбрать сущность по идентификатору при createEntityAdapter - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь понять, как работает селектор в 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
});

Я хотел бы сделать селектор, который изменит мой выбранный дрон в моем магазине. Я пытаюсь сделать это:

export const getDroneById = (id: string): IDrone => featureAdapter.selectId(id);

но аргумент, ожидаемый в selectId, равен IDrone, и я не могу найти способ его изменить.

У меня вопрос: если я хочу, чтобы компонент изменил выбранный дрон, то есть, в основном, проверяю в хранилище, существует ли идентификатор, и если да, отправлять действие «SelectDrone», следует ли мне делать это с селектором? или я должен сделать это через функцию в моем компоненте (которая проверяет дронов, если она существует, а затем просто отправляет действие select)?

...