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)