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