@yarnstart
Превозмогание и React

Можно ли задать значение по умолчанию для функции, которая зависит от двух типов дженерика?

Пример рабочего кода:
Рабочий код

const displayFunctionCode = <T, P>(callback: (props: T) => P) => {
    console.log(callback);
}

displayFunctionCode<number, number>((n) => n);


Примерный код, который хотелось бы, чтобы работал:
Желаемый код

const displayFunctionCode = (callback: (props: T) => P = (prop: T) => prop) => {
console.log(callback);
}

displayFunctionCode((n) => n);


Можно ли заставить ts поверить, что возвращаемое значение в функции точно имеет тип P, например
(prop: T) => props as P;
?
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Есть такия конструкция: foo as unknown as Type - двойным кастованием вы можете скастовать что угодно во что угодно.
Только вот делать так не надо, эту убивает весь смысл использования TypeScript.
Вместо этого вам надо прописать условия в "функции по умолчанию", чтоб она работала так, как это описано, а не хрен пойми как.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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