web-dev-qa-db-fra.com

Comment utiliser une distribution TypeScript avec JSX / TSX

Lorsque vous lancez un .tsx fichier, le compilateur suppose qu'il s'agit de JSX, par exemple:

(<HtmlInputElement> event.target).value

donne une erreur

Le type d'élément JSX 'HtmlInputElement' n'est pas une fonction constructeur pour les éléments JSX

Comment castez-vous TypeScript dans un .tsx fichier?

L'opérateur as a été introduit dans TypeScript 1.6 pour remplacer les transtypages dans .tsx fichiers, par exemple:

(event.target as HTMLInputElement).value

Le wiki TypeScript explique les changements 1.6: il fait du nouvel opérateur as le moyen par défaut de transtyper (en supprimant toute ambiguïté entre les expressions JSX et l'opérateur de transtypage de préfixe TypeScript)

27
RationalDev