- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
这篇文章主要介绍了 JavaScript 的 React 框架中的 JSX 语法学习入门教程 ,React 是由
Facebook 开发并开源的高人气 js 框架 ,需要的朋友可以参考下
什么是 JSX ?
在用 React 写组件的时候,通常会用到 JSX 语法,粗看上去,像是在 Javascript 代码里
直接写起了 XML 标签,实质上这只是一个语法糖,每一个 XML 标签都会被 JSX 转换工具
转换成纯 Javascript 代码,当然你想直接使用纯 Javascript 代码写也是可以的, 只是利用 JSX ,
组件的结构和组件之间的关系看上去更加清晰。
var MyComponent = React.createClass({/*...*/});
var myElement = lt;MyComponent someProperty={true} /gt;;
React.render(myElement, document.body);
一个 XML 标签, 比如lt;MyComponent someProperty={true} /gt; 会被 JSX 转换工具转
换成什么呢?
比如:
var Nav = React.createClass({/*...*/});
var app = lt;Nav color=bluegt;lt;Profilegt;clicklt;/Profilegt;lt;/Navgt;;
会被转化为:
var Nav = React.createClass({/*...*/});
var app = React.createElement(
nbsp;Nav,
nbsp;{color:blue},
nbsp;React.createElement(Profile, null, click)
);
那么也就是说,我们写一个 XML 标签,实质上就是在调用 React.createElement 这个方
法,并返回一个 ReactElement 对象。
ReactElement createElement(
nbsp;string/ReactClass type,
nbsp;[object props],
nbsp;[children ...]
)
这个方法的第一个参数可以是一个字符串,表示是一个 HTML 标准内的元素,或者是
一个 ReactClass 类型的对象,表示我们之前封装好的自定义组件。第二个参数是一个对象,
或者说是字典也可以,它保存了这个元素的所有固有属性(即传入后基本不会改变的值) 。
从第三个参数开始,之后的参数都被认作是元素的子元素。
JSX 转化器
要把带有 JSX 语法的代码转化为纯 Javascript 代码,有多种方式,对于内联与 HTML
中的代码或者是未经过转化的外部文件,在 script 标签中要加上 type=text/jsx ,并引入
JSXTransformer.js 文件即可,不过这种方式并不建议在生产环境使用,建议的方法是在代码
上线前就将代码转换好,可以使用 npm 全局安装 react-tools :
npm install -g react-tools
并使用命令行工具转化即可(具体用法可以参考 jsx -h ):
jsx src/ build/
如果使用自动化工具,比如
您可能关注的文档
- HTML5canvas基本绘图之绘制线条.pdf
- HTML5Canvas旋转动画的2个代码例子(一个旋转的太极图效果).pdf
- html5Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法.pdf
- html5Canvas画图教程(9)—canvas中画出矩形和圆形.pdf
- html5canvas移动浏览器上实现图片压缩上传.pdf
- html5canvas绘制矩形和圆形的实例代码.pdf
- HTML5Canvas锯齿图代码实例.pdf
- HTML5Canvas阴影使用方法实例演示.pdf
- HTML5CSS3实现拖放(DragandDrop)示例.pdf
- HTML5中Canvas与SVG的画图原理比较.pdf
- Javascript的setTimeout()使用闭包特性时需要注意的问题.pdf
- JavaScript的String字符串对象常用操作总结.pdf
- javascript的作用域和块级作用域概念理解.pdf
- javascript的几种继承方法介绍.pdf
- Javascript的表单验证长度.pdf
- JavaScript绑定事件监听函数的通用方法.pdf
- Javascript自定义位置插入百度联盟广告.pdf
- javascript表单处理具体实现代码(表单、链接、按钮).pdf
- Javascript轻量极速的模板引擎(仅1kb).pdf
- javascript轻量级模板引擎juicer使用指南.pdf
文档评论(0)