JSX вне React¶
TypeScript предоставляет вам возможность использовать JSX с проверкой типов в чём-то кроме React. Ниже перечислены параметры настройки, но обратите внимание, что это для продвинутых создателей фреймворков пользовательского интерфейса:
- Вы можете отключить выдачу кода в стиле
react, используя опцию"jsx": "preserve". Это означает, что JSX передается как есть, а затем вы можете использовать свой собственный транспилятор для преобразования частей JSX. - Использование глобального модуля
JSX:- Вы можете контролировать, какие HTML-теги доступны и как они проверяются на типы, настраивая элементы интерфейса
JSX.IntrinsicElements. - При использовании компонентов:
- Вы можете контролировать, какой
классдолжен быть унаследован компонентами, настроив объявление по умолчаниюinterface ElementClass extends React.Component<any, any> { }. - Вы можете контролировать, какое свойство используется для проверки типов атрибутов (по умолчанию -
props), настраиваяdeclare module JSX { interface ElementAttributesProperty { props: {}; } }объявление.
- Вы можете контролировать, какой
- Вы можете контролировать, какие HTML-теги доступны и как они проверяются на типы, настраивая элементы интерфейса
jsxFactory¶
Передача --jsxFactory <имя фабрики JSX> вместе с --jsx react позволяет использовать другую фабрику JSX, отличную от стандартной React.
Новое имя фабрики будет использоваться для вызова функций createElement.
Пример¶
1 2 3 | |
Скомпилировано с:
1 | |
Результат:
1 2 3 4 5 6 7 | |
jsx pragma¶
Вы даже можете указать разные jsxFactory для каждого файла, используя jsxPragma, например.
1 2 3 4 | |
Даже с --jsx react этот файл будет всё равно будет генерировать код учитывая фабрику, указанную в jsx pragma:
1 2 3 4 5 6 7 | |