- 内容简介
- 译者序
- 前言
- 第 1 章 安装配置新项目
- 第 2 章 Flexbox 布局介绍
- 第 3 章 用 React Native 开发一个应用
- 第 4 章 在 React Native 中使用导航
- 第 5 章 动画和滑动菜单
- 第 6 章 用 React Native 绘制 Canvas
- 第 7 章 使用 React Native 播放音频
- 第 8 章 你的第一个自定义视图
- 第 9 章 Flux 介绍
- 第 10 章 处理复杂的应用程序状态
- 第 11 章 使用 Node 来实现服务端 API
- 第 12 章 在 React Native 中使用文件上传
- 第 13 章 理解 JavaScript Promise
- 第 14 章 fetch 简介
- 第 15 章 在 iOS 中使用 SQLite
- 第 16 章 集成 Google Admob
- 第 17 章 React Native 组件国际化
- 附录 A React.js 快速介绍
- 附录 B Objective-C Primer
- 附录 C webpack 入门
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
在 JavaScript 代码中出现了 HTML 片段
不,这么说并不确切。我们看到的内容是 jsx 的应用,但是那些看起来类似 HTML 的语法并不表示真实的 DOM 节点。相反,它们是 React 内部表示 DOM 节点的一种语法糖,这种写法也同样包含在所有你之前声明的组件中,包装在花括号中的代码表示脱离这个语法。看看 ThingList 类预编译以后的版本吧:
var ThingList = React.createClass({ displayName: 'ThingList', render: function() { return ( React.DOM.h1(null, "My Things:"), Thing({name: "Hello World"}) ); } })
如果这个版本对于你来说更有意义的话,那就符合我的预期。当我第一次开始使用 React 时,我特别讨厌这种类似 HTML 的语法。但是,当组件变得越来越复杂的时候,你可能就会开始欣赏 jsx 语法了,例如:
var ComplexThing = React.createClass({ render: function() { return (
<div className="complexThing"> <Thing name="thing one" /> <Thing name="thing two" /> </div>, <a href="back.html">Go Back</a> ); } });
编译后,没有 jsx 语法的版本:
var ComplexThing =React.createClass({ displayName: 'ComplexThing', render: function() { return ( React.DOM.div( {className:"complexThing"}, Thing({name:"thing one"}), Thing({name:"thing two"}) ), React.DOM.a( {href:"back.html"}, "GoBack" ) ); } });
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论