编辑推荐
本书旨在帮你掌握Facebook的开源技术React,迅速建立富Web应用,构建组件并将其组织成可维护的大型应用程序。
解开Web应用开发之谜,从了解React基本原理开始。
* 设置React并编写第1个Hello World应用
* 创建并使用自定义React组件以及通用DOM组件
* 构建一个可以编辑、排序、搜索和导出内容的数据表格组件
* 使用JSX语法扩展作为调用函数的替代选择
* 设置一个帮你集中注意力于React上的简单构建过程
* 构建一个可以将数据存储在客户端的完整自定义应用
* 在应用规模增长时使用ESLint、Flow和Jest等工具检查并测试代码
* 使用Flux管理组件间的通信
内容简介
本书是React入门书。前3章介绍如何从空白的HTML页面开始构建应用。第4章介绍JSX语法。从第5章开始,你会学习到在实际开发中可能用到的一些附加工具。介绍的例子包括JavaScript打包工具、单元测试、语法检查、类型、在应用中组织数据流以及不可变数据。
作者简介
Stoyan Stefanov Facebook开发工程师,图像优化工具smush.it的作者,性能优化工具YSlow2.0的架构师。曾多次在Velocity等技术大会上发表过演讲。另著有《JavaScript模式》和《JavaScript面向对象编程指南》,还为《高性能网站建设进阶指南》和《高性能JavaScript》贡献过内容。个人站点是http://phpied.com。
张俊达 毕业于华南理工大学,前端开发工程师,现任职于迅雷,主要负责移动Web开发工作。关注前端领域的新技术,乐于分享。
目录
第1章 Hello World 1
1.1 设置 1
1.2 Hello React World 2
1.3 刚才发生了什么 4
1.4 React.DOM.* 4
1.5 特殊DOM属性 7
1.6 React DevTools浏览器扩展 8
1.7 下一步:自定义组件 9
第2章 组件的生命周期 10
2.1 基础 10
2.2 属性 12
2.3 propTypes 13
2.4 state 16
2.5 带状态的文本框组件 16
2.6 关于DOM事件的说明 19
2.6.1 传统的事件处理 20
2.6.2 React的事件处理 21
2.7 props与state 21
2.8 在初始化state时使用props:一种反模式 22
2.9 从外部访问组件 22
2.10 中途改变属性 24
2.11 生命周期方法 25
2.12 生命周期示例:输出日志记录 26
2.13 生命周期示例:使用mixin 28
2.14 生命周期示例:使用子组件 30
2.15 性能优化:避免组件更新 32
2.16 PureRenderMixin 34
第3章 Excel:一个出色的表格组件 37
3.1 构造数据 37
3.2 表头循环 38
3.3 消除控制台的警告信息 40
3.4 添加内容 41
3.5 排序 44
3.6 排序的视觉提示 46
3.7 编辑数据 47
3.7.1 可编辑单元格 48
3.7.2 输入字段的单元格 50
3.7.3 保存 50
3.7.4 结论与虚拟DOM Diff算法 51
3.8 搜索 52
3.8.1 状态与界面 54
3.8.2 筛选内容 55
3.8.3 如何改进搜索功能 57
3.9 即时回放 58
3.9.1 如何改进回放功能 59
3.9.2 有另一种实现方法吗 59
3.10 下载表格数据 59
第4章 JSX 62
4.1 Hello JSX 62
4.2 转译JSX 63
4.3 Babel 64
4.4 客户端 64
4.5 关于JSX转换 66
4.6 在JSX中使用JavaScript 68
4.7 在JSX中使用空格 69
4.8 在JSX中使用注释 70
4.9 HTML实体 71
4.10 展开属性 73
4.11 在JSX中返回多个节点 75
4.12 JSX和HTML的区别 77
4.12.1 class和for属性不能用了吗 77
4.12.2 style属性值是一个对象 77
4.12.3 闭合标签 78
4.12.4 用驼峰法命名属性 78
4.13 JSX 和表单 78
4.14 使用JSX实现Excel组件 82
第5章 为应用开发做准备 83
5.1 一个模板应用 83
5.1.1 文件和目录 84
5.1.2 index.html 85
5.1.3 CSS 86
5.1.4 JavaScript 86
5.1.5 更现代化的JavaScript 86
5.2 安装必备工具 89
5.2.1 Node.js 90
5.2.2 Browserify 90
5.2.3 Babel 90
5.2.4 React相关 91
5.3 开始构建 91
5.3.1 转译JavaScript 91
5.3.2 打包JavaScript 92
5.3.3 打包CSS 92
5.3.4 大功告成 92
5.3.5 Windows版本 93
5.3.6 在开发过程中构建 93
5.4 发布 94
5.5 更进一步 95
第6章 构建应用 96
6.1 Whinepad v. 0.0.1 96
6.1.1 基本设置 97
6.1.2 开始编写代码 97
6.2 组件 99
6.2.1 设置 99
6.2.2 组件发现工具 100
6.2.3 Button组件 101
6.2.4 Button.css 102
6.2.5 Button.js 103
6.2.6 表单 106
6.3 应用配置 121
6.4 Excel:改进的新版本 123
6.5 Whinepad 131
6.6 总结 134
第7章 lint、Flow、测试与复验 136
7.1 package.json 136
7.1.1 配置Babel 137
7.1.2 脚本 137
7.2 ESLint138
7.2.1 安装 138
7.2.2 运行 138
7.2.3 规则列表 140
7.3 Flow 140
7.3.1 安装 141
7.3.2 运行 141
7.3.3 注册类型检查 141
7.3.4 修复Button 142
7.3.5 app.js 144
7.3.6 关于props和state类型检查的更多内容145
7.3.7 导出/导入类型 147
7.3.8 类型转换 148
7.3.9 invariant 148
7.4 测试 150
第8章 Flux 165
8.1 理念 166
8.2 回顾Whinepad 166
8.3 Store 167
8.4 Action 175
8.5 Flux回顾181
8.6 immutable 182
8.6.1 immutable存储数据 183
8.6.2 immutable数据操作 184
关于作者 187
关于封面 187
React快速上手开发 电子书 下载 mobi epub pdf txt