значение параметра другого интерфейса?
Например:
interface IQuery {
query: WebGLQuery
operationName: string
}
const query: IQuery = {
query: `query myQuery($partnerId: String!) {...}`,
operationName: "myQuery",
}
interface IResponse<T extends IQuery> {
data: {
[key: T["operationName"]]: Record<string, unknown>[]
}
}
но, тут TS ругается на то, что An index signature parameter type must be either 'string' or 'number'.
Есть ли какой способ подставить значение аттрибута operationName в ключ?
Эта, парни, кроме за поговорить, по делу кто-нибудь может высказаться? ;)
Я не понял вопрос. Но взять с одного типа значение типа строка и заюзать как индекс на другом можно. Но нужно использовать пару трюков чтобы обойти шероховатости текущей реализации
Обсуждают сегодня