Как получить тип ребенка динамически в Typescript? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть интерфейс с конечным набором ключей, каждый из которых имеет различное перечисление

interface Fizz {
    foo: Enum1;
    bar: Enum2;
    baz: Enum3;
}

Я хочу иметь возможность динамически выделять один тип в функции.

const func = (key: keyof Fizz) => (buzz: ???) => {}

Как определить тип buzz на основе значения key?

1 Ответ

2 голосов
/ 21 апреля 2020

Вы можете создать универсальную c функцию, например:

const func = <T extends keyof Fizz>(key: T) => (buzz: Fizz[T]) => {}

func('baz')(variable); // Now, `variable` need to be Enum3

func('foo')(variable); // And, `variable` need to be Enum1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...