第1章 React简介 1
背景介绍 1
本书概览 3
Component的创建和复合 3
进阶 4
React工具 5
React实践 5
第2章 JSX 6
什么是JSX 7
使用JSX的好处 7
更加熟悉 7
更加语义化 8
更加直观 8
抽象化 9
关注点分离 9
复合组件 10
定义一个自定义组件 10
使用动态值 11
子节点 12
JSX与HTML有何不同 13
属性 13
条件判断 14
非DOM属性 15
事件 17
注释 18
特殊属性 19
样式 19
没有JSX的React 19
创建React元素 20
简写 21
延伸阅读及参考引用 21
JSX官方规范 22
第3章 组件的生命周期 23
生命周期方法 23
实例化 23
存在期 24
销毁&清理期 24
实例化 24
getDefaultProps 24
getInitialState 25
componentWillMount 25
render 25
componentDidMount 25
存在期 26
componentWillReceiveProps 26
shouldComponentUpdate 27
componentWillUpdate 28
componentDidUpdate 28
销毁&清理期 28
componentWillUnmount 28
反模式:把计算后的值赋给state 28
总结 30
第4章 数据流 31
Props 31
PropTypes 33
getDefaultProps 33
State 34
放在state和props的各是哪些部分 35
总结 35
第5章 事件处理 36
绑定事件处理器 36
事件和状态 37
根据状态进行渲染 38
更新状态 40
事件对象 42
总结 43
第6章 组件的复合 44
扩展HTML 44
组件复合的例子 45
组装HTML 45
追踪状态 47
整合到父组件当中 48
父组件、子组件关系 50
总结 52
第7章 mixin 53
什么是mixin 53
总结 56
第8章 DOM操作 57
访问受控的DOM节点 57
整合非React类库 59
侵入式插件 61
总结 63
第9章 表单 64
无约束的组件 65
约束组件 66
表单事件 68
Label 68
文本框和Select 69
复选框和单选框 71
表单元素的name属性 73
多个表单元素与change处理器 75
自定义表单组件 79
Focus 83
可用性 83
把要求传达清楚 83
不断地反馈 84
迅速响应 84
符合用户的预期 84
可访问 85
减少用户的输入 85
总结 86
第10章 动画 87
CSS渐变组 87
给渐变class添加样式 88
渐变生命周期 89
使用渐变组的隐患 89
间隔渲染 89
使用requestAnimationFrame实现间隔渲染 90
使用setTimeout实现间隔渲染 91
总结 92
第11章 性能优化 93
shouldComponentUpdate 93
不可变性辅助插件 95
深入调查拖慢你应用的部分 96
键(key) 97
总结 98
第12章 服务端渲染 99
渲染函数 100
React.renderToString 100
React.renderToStaticMarkup 100
用React.renderToString还是用React.renderToStaticMarkup 101
服务端组件生命周期 102
设计组件 102
异步状态 104
同构路由 106
单例、实例及上下文 107
总结 107
第13章 周边类库 108
Jest 108
设置 109
自动模拟依赖 109
手动模拟依赖 111
Immutable.js 113
Flux 114
总结 115
第14章 开发工具 116
构建工具 116
Browserify 117
建立一个Browserify项目 117
对代码做出修改 118
Watchify 119
构建 119
Webpack 119
Webpack与React 120
调试工具 122
基础工具 123
总结 124
第15章 测试 125
上手 125
测试的类型 126
工具 126
第一个测试用例:render测试 127
模拟组件 132
函数监视 138
监视函数被调用 141
模拟事件 146
测试中的组件查找器 149
mixin测试 152
直接测试mixin 153
把mixin包含在虚拟组件中进行测试 156
共享行为的用例 159
渲染到〈body〉中 164
服务端测试 168
浏览器自动化测试 174
启动服务器 179
总结 180
第16章 架构模式 181
路由 182
Backbone.Router 182
Aviator 183
react-router 185
Om(ClojureScript) 186
Flux 187
数据流 187
Flux各个部分 188
Dispatcher 188
Action 189
Store 190
控制视图 191
管理多个Store 192
更新Dispatcher 192
注册依赖行为 193
总结 194
第17章 其他使用场景 195
桌面应用 195
游戏 197
电子邮件 202
绘图 208
总结 210