JSX

作者: InnoTech | 来源:发表于2018-11-06 21:55 被阅读0次

大多数语言都可以使用XML来创建UI,Typescript也不例外,这得益于React框架的兴起。

首先在tsconfig.json中配置 jsx为react

意思是编译tsx中的xml时变成函数React.createElement

定义jsx命名空间下的接口

IntrinsicElements 定义了可以支持的节点名 有div 和 button,并且可以设置的属性是HtmlElementAttributes中定义的

ElementAttributesProperty定义了自定义类的xml节点上的属性由其props成员的类型决定

如下

<MyBox id=...  中的id是从MyBox类里的id决定的

上面这段xml被typescript编译成了

React.createElement("div", { id: "node" },

            React.createElement("div", { style: { background: 'red' } }, "one"),

            React.createElement("div", { style: { background: 'blue' } }, "two"),

            React.createElement(MyBox, { id: "box" },

                React.createElement("div", null,

                    React.createElement(MyButton, null, "aaa"),

                    React.createElement(MyButton, null, "bbb"))));

当然了 React.createElement在typescript 2.8中也可以替换 通过命令行参数 或者是 注释

注意 要是使用注释 注释需要加在页面首行 如下 将函数 React.createElement替换成 UI.create

/** @jsx UI.create */

参看

https://www.typescriptlang.org/docs/handbook/jsx.html

源码

相关文章

网友评论

      本文标题:JSX

      本文链接:https://www.haomeiwen.com/subject/quepxqtx.html