19

我最近一直在研究React,并希望使用 JSX 和 typescript。我无法找到任何关于此的资源或React的类型定义。

您可以将 Typescript 与 JSX 一起使用,并且类型定义可用吗?

4

9 回答 9

8

React 团队目前正在讨论使 Typescript 注释成为内部使用的东西。这可能很快就会在官方上为您改变。

于 2014-07-05T22:59:33.473 回答
6

React jsx 将在即将发布的 TypeScript 1.6 中可用。这里有更多信息

于 2015-06-27T11:12:38.863 回答
4

François de Campredon 为 React 创建了一个类型定义:https ://github.com/fdecampredon/react-observe-todomvc/blob/typescript/src/declarations/react.d.ts

它显然不支持 JSX,因为它是另一种语法与 TypeScript 不同的语言。

于 2014-02-01T00:37:21.003 回答
4

更新:旧答案不再正确。一段时间以来,Typescript 支持与.tsx文件分离的语法上下文,它放弃了<>转换语法以支持 JSX。


它不会。TypeScript 类型转换语法之间有很多歧义:

(<foo>bar)

和 JSX 内联 XML 语法:

(<foo>bar)</foo>)
于 2014-01-21T10:31:30.263 回答
3

做了一些研究,并认为我会回答我自己的问题。JSX 编译器似乎还不能识别 typescript 结构(希望以后能识别)。

于 2013-12-14T21:20:03.120 回答
2

你应该看看下面的谈话:

https://www.youtube.com/watch?v=9PTa9-PPVAc

它有很多关于如何使 React 与 TypeScript 一起工作的指示。

Facebook 最近还宣布了一个名为Flow的项目,该项目还为 Javascript 添加了静态类型。由于它们都是 Facebook 项目,因此在处理 React.js 时使用 Flow 可能比使用 TypeScript 更容易。

于 2015-04-30T15:28:05.963 回答
2

关于jsx:

您可以将您的反应组件拆分为两个文件。第一个将包含除渲染函数之外的所有内容,因此可以用 Typescript 编写。第二个将只使用 JSX 实现渲染功能。我知道这违反了“反应方式”,但它解决了这个问题。除了渲染功能之外,您将拥有 Typescript 的强大功能。

于 2015-03-10T10:21:30.680 回答
1

对于create-react-app项目,只需从npx create-react-app my-app --template typescript命令开始。

进一步阅读:https ://create-react-app.dev/docs/adding-typescript/

于 2020-02-06T08:57:45.503 回答
0

现在事情似乎发生了变化,来自官方 Typescript文档

TypeScript 支持嵌入、类型检查和将 JSX 直接编译为 JavaScript。

这是关于如何直接使用 Typescript 启动项目的

于 2020-02-20T09:59:46.583 回答