Как использовать трансляцию типов с помощью JSX/TSX

При кастинге в .tsx файле компилятор предполагает, что это JSX, например:

(<HtmlInputElement> event.target).value

дает ошибку

Тип элемента JSX "HtmlInputElement" не является конструкторной функцией для элементов JSX

Как вы используете TypeScript в файле .tsx?

Ответ 1

Оператор as был введен в TypeScript 1.6 для замены трансляций в .tsx файлах, например:

(event.target as HTMLInputElement).value

Вики TypeScript объясняет изменения 1.6: он делает новый оператор as метод по умолчанию (удаление какой-либо двусмысленности между выражениями JSX и оператором листинга префиксов TypeScript)