Машинопись для Facebook React
7 ответов
React JSX будет доступен в следующей версии TypeScript 1.6. Вот больше информации.
Команда React в настоящее время обсуждает вопрос о том, как сделать аннотации Typescript внутренне используемым. Возможно, это скоро изменится на официальном для вас.
Франсуа де Кампредон создал определение типа для React: https://github.com/fdecampredon/react-observe-todomvc/blob/typescript/src/declarations/react.d.ts
Очевидно, он не поддерживает JSX, поскольку это другой язык с синтаксисом, отличным от TypeScript.
Не будет Существует много неоднозначности между приведением типов TS:
(<foo>bar)
и JSX встроенный HTML:
(<foo>bar)</foo>)
Провел некоторое исследование и решил, что я отвечу на свой вопрос. Похоже, что JSX-компилятор еще не распознает конструкции машинописного текста (надеюсь, это будет позже).
Что касается JSX:
Вы можете разделить ваши реагирующие компоненты на два файла. Первый будет содержать все, кроме функции рендеринга, и поэтому может быть написан на Typescript. Второй просто реализует функцию рендеринга с использованием JSX. Я знаю, что это против "способа реагирования", но это решает эту проблему. Вы будете иметь силу Typescript каждый, кроме функции рендеринга.
Вы должны проверить следующий разговор:
https://www.youtube.com/watch?v=9PTa9-PPVAc
В нем много указателей на то, как заставить React работать с TypeScript.
Facebook также недавно анонсировал проект под названием Flow, который также добавляет статическую типизацию в Javascript. Поскольку они оба являются проектами Facebook, при работе с React.js может быть проще использовать Flow, чем TypeScript.
За create-react-app
проекты просто начинаются с npx create-react-app my-app --template typescript
команда.
Для дальнейшего чтения: https://create-react-app.dev/docs/adding-typescript/
Теперь все, кажется, изменилось из официальных документов Typescript
TypeScript поддерживает встраивание, проверку типов и компиляцию JSX непосредственно в JavaScript.
И это о том, как начать проект напрямую с Typescript