React中文版 - (EPUB全文下载)
文件大小:1.53 mb。
文件格式:epub 格式。
书籍内容:
React 中文版
用于构建用户界面的 JavaScript 库
极客学院
浙版数媒
版权信息
React 中文教程
极客学院 主编
©浙江出版集团数字传媒有限公司 2015
非经书面授权,不得在任何地区以任何方式反编译、翻印、仿制或节录本书文字或图表。
DNA-BN:ECFD-N00006213-20150729
最后修订:2015年7月31日
出版:浙江出版集团数字传媒有限公司
浙江 杭州 体育场路347号
互联网出版许可证:新出网证(浙)字10号
电子邮箱:cb@bookdna.cn
网 址:www.bookdna.cn
BookDNA是浙江出版联合集团旗下电子书出版机构,为作者提供电子书出版服务。
如您发现本书内容错讹,敬请指正,以便新版修订。
©Zhejiang Publishing United Group Digital Media CO.,LTD,2015
No.347 Tiyuchang Road, Hangzhou 310006 P.R.C.
cb@bookdna.cn
www.bookdna.cn
前言
React 是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。具备以下特性:
不是一个 MVC 框架
不使用模板
响应式更新非常简单
HTML5 仅仅是个开始
仅仅是 UI
许多人使用 React 作为 MVC 架构的 V 层。 尽管 React 并没有假设过你的其余技术栈, 但它仍可以作为一个小特征轻易地在已有项目中使用
虚拟 DOM
React 为了更高超的性能而使用虚拟 DOM 作为其不同的实现。 它同时也可以由服务端 Node.js 渲染 - 而不需要过重的浏览器 DOM 支持
数据流
React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
一个简单的组件
React 组件通过一个render()
方法,接受输入的参数并返回展示的对象。
以下这个例子使用了 JSX,它类似于XML的语法
输入的参数通过render()
传入组件后,将存储在this.props
JSX 是可选的,并不强制要求使用。
点击 "Compiled JS" 可以看到 JSX 编译之后的 JavaScript 代码
Live JSX Editor
var HelloMessage = React.createClass({
render: function() {
return
;
}
});
React.render(
Hello John
Compiled JS
var HelloMessage = React.createClass({displayName: "HelloMessage",
render: function() {
return React.createElement("div", null, "Hello ", this.props.name);
}
});
React.render(React.createElement(HelloMessage, {name: "John"}), mountNode);
一个有状态的组件
除了接受输入数据(通过 this.props
),组件还可以保持内部状态数据(通过 this.state
)。当一个组件的状态数据的变化,展现的标记将被重新调用 render()
更新。
Live JSX Editor
var Timer = React.createClass({
getInitialState: function() {
return {secondsElapsed: 0};
},
tick: function() {
this.setState({secondsElapsed: this.state.secondsElapsed + 1});
},
componentDidMount: function() {
this.interval = setInterval(this.tick, 1000);
},
componentWillUnmount: function() {
clearInterval(this.interval);
},
render: function() {
return (
);
}
});
React.render(
Compiled JS
var Timer = React.createClass({displayName: "Timer",
getInitialState: function() {
return {secondsElapsed: 0};
},
tick: function() {
this.setState({secondsElapsed: this.state.secondsElapsed + 1});
},
componentDidMount: function() {
this.interval = setInterval(this.tick, 1000);
},
componentWillUnmount: function() {
clearInterval(this.interval);
},
render: fu ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » React中文版 - (EPUB全文下载)