Как описать интерфейс TypeScript для объекта имена свойств которого являются id?
Подскажите пожалуйста как написать интерфейс для вот такого объекта. Буду безгранично благодарен.
import { v4 as uuidv4 } from 'uuid'
interface IData: {?}
const data: IData = {
[uuidv4()]: {
id: uuidv4(),
name: 'something',
},
[uuidv4()]: {
id: uuidv4(),
name: 'something',
},
}
Ответы (1 шт):
Автор решения: Neverm1ndo
→ Ссылка
Наверное как-то так,только не понятно, зачем вы 4 раза вызываете функцию uuidv4. Она же всегда будет возвращать разные id. Т.е у вас ключ объекта никогда не будет равен полю id этого объекта. Очень странно.
import { v4 as uuidv4 } from 'uuid'
interface IDataItem {
id: string;
name: string;
}
interface IData {
[key: string]: IDataItem;
}
const data: IData = {
[uuidv4()]: {
id: uuidv4(),
name: 'something',
},
[uuidv4()]: {
id: uuidv4(),
name: 'something',
},
}