Я пытаюсь создать функцию, которая будет иметь доступ к ключу, который находится внутри объекта, который находится внутри другого объекта.
Я читал документацию TS, но я полагаю, что я не использую правильные обобщения в моей функции, например:
interface A {
abc: number
acd: number
}
interface B {
bcd: number
bde: number
}
interface C {
cde: number
cef: number
}
interface Data {
a: A
b: B
c: C
}
const data: Data = {
a: {
abc: 1,
acd: 2
},
b: {
bcd: 3,
bde: 4
},
c: {
cde: 5,
cef: 6
}
}
const getItem = <T extends keyof Data, K extends keyof T>(
category: T,
item: K
) => {
console.log(data[category][item]) // ERROR: Type 'K' cannot be used to index type 'Data[T]'.ts(2536)
}
Спасибо за помощь:)