Есть некие айтемы:
@observable items: Array<TCardItem> = [];
И их тип:
export type TCardItem = {
id: string;
photoUrl: string;
name: string;
lastname: string;
phoneValues: Array<number | string>;
address: string;
};
Далее с ними совершаются операции:
deleteItem = (id: string) => {
this.items = this.items.filter(item => item.id !== id);
};
saveItem = (id: string, modifiedItem: object) => {
this.items = this.items.map(item =>
item.id === id ? modifiedItem : item
);
};
addItem = (idItem: object) => {
this.items = [...this.items, idItem];
};
this.items во второй и третьей функции выбивают ошибку:
Тип "object[]" не может быть назначен для типа "TCardItem[]".
Type '{}' is missing the following properties from type 'TCardItem': id, photoUrl, name, lastname, and 2 more.
Я более чем уверен, что это происходит потому что items получают данные вида Proxy {}. Как правильно написать декларацию для этого?