Вкратце: если вы хотите объединить JSX и Typescript, вам нужно использовать .tsx
, а не .ts
.
JSX и Typescript - это расширения для javascript, которые были разработаны независимо. В результате их синтаксис имеет некоторые конфликты, особенно со значением угловых скобок. В JSX угловые скобки используются для элементов, но в машинописном тексте они используются для утверждений типа. Поэтому при попытке синтаксического анализа файла, который использует и то, и другое, нет четкого способа определить, что есть что, во всех случаях. Элементы JSX. Это можно сделать по расширению файла. В файле .tsx
вы можете использовать элементы JSX, и парсер никогда не будет ошибочно думать, что это утверждения типа. Следствием этого является то, что вы не можете последовательно использовать утверждения угловых скобок в файле .tsx
, поэтому вместо этого вы должны использовать утверждения as
.