Задать вопрос
effect_tw
@effect_tw

Как динамически передавать дженерик тип?

есть interface
export interface AuthFormsDataTypes {
  login: LogInFormDataType;
  registration: RegFormDataType;
}

Мне нужно из него динамически вытягивать тип login и registration.p.s commonName - строка. Как это можно сделать?
onSubmit: submitHandlersCreator<AuthFormsDataTypes[commonName]>({
                  dispatch,
                  path: `${location.pathname}${location.search}`,
                  actionName:commonName
                }),
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Если commonName - переменная, то ее тип можно извлечь через typeof
submitHandlersCreator<AuthFormsDataTypes[typeof commonName]>({
                  dispatch,
                  path: `${location.pathname}${location.search}`,
                  actionName:commonName
                })
Но у нее должен быть литеральный тип или юнион литеральных типов, притом из множества ключей AuthFormsDataTypes
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы