[cartItemId]: {
cartItemId: 'blabla',
count: 3,
imageUrl: 'blabla',
price: 3,
size: 'blabla',
title: 'blabla',
type: 'blabla',
_id: 'blabla',
},
itemDate: {
cartItemId: 'blabla',
itemCount: 1,
totalItemPrice: 3,
_id: 'blabla',
},
}
тип, который я к нему настрочил
export type CartItem = {
[key: string]: {
cartItemId: string
_id: string
title: string
price: number
imageUrl: string
type: string
size: string
count: number
}
} & {
itemDate: {
cartItemId: string
itemCount: number
totalItemPrice: number
_id: string
}
}
ошибка с которой он ругается :
Type '{ [x: string]: { cartItemId: string; count: number; imageUrl: string; price: number; size: string; title: string; type: string; _id: string; } | { cartItemId: string; itemCount: number; totalItemPrice: number; _id: string; }; itemDate: { cartItemId: string; itemCount: number; totalItemPrice: number; _id: string; }; }' is not assignable to type 'CartItem'.
Type '{ [x: string]: { cartItemId: string; count: number; imageUrl: string; price: number; size: string; title: string; type: string; _id: string; } | { cartItemId: string; itemCount: number; totalItemPrice: number; _id: string; }; itemDate: { cartItemId: string; itemCount: number; totalItemPrice: number; _id: string; }; }' is not assignable to type '{ [key: string]: { cartItemId: string; _id: string; title: string; price: number; imageUrl: string; type: string; size: string; count: number; }; }'
чат гпт тебе поможет
Да чёт не работает у меня телеграмм бот на гптшку, вчера новый api ключ купил, а он матерится, хз, чё с ним стало, позже буду разбиратся
Проблема здесь в том, что вы пытаетесь объединить два разных типа в один объект типа CartItem. В вашем случае, у вас есть объект, ключами которого являются cartItemId и itemDate. Первый тип ассоциирован с cartItemId и представляет информацию о товаре, а второй тип, itemDate, представляет информацию о дате. Вместо использования объединения (&), вы можете использовать альтернативный способ типизации. Например, вы можете определить два отдельных интерфейса для CartItem и ItemDate, а затем использовать их в вашем объекте. Вот пример: export interface Item { cartItemId: string _id: string title: string price: number imageUrl: string type: string size: string count: number } export interface ItemDate { cartItemId: string itemCount: number totalItemPrice: number _id: string } export interface CartItem { [cartItemId: string]: Item | ItemDate itemDate: ItemDate } const itemTest: CartItem = { [cartItemId]: { cartItemId: 'blabla', count: 3, imageUrl: 'blabla', price: 3, size: 'blabla', title: 'blabla', type: 'blabla', _id: 'blabla', }, itemDate: { cartItemId: 'blabla', itemCount: 1, totalItemPrice: 3, _id: 'blabla', }, };
Спс, до компа доберусь, гляну
Гптшка помогала в таких вопросах, но почему-то щас бот не кушает новые api ключи, мб чё поменяли
Обсуждают сегодня