前言
第1章 React入门 1
1.1 开始学习React之前 1
1.1.1 下载与使用Node.js和NPM 1
1.1.2 模块打包工具之Browserify 2
1.1.3 模块打包工具之Webpack 3
1.1.4 第一个Webpack构建实战 6
1.1.5 Webpack loader实战 7
1.1.6 Webpack配置详解 9
1.1.7 ES 6语法 15
1.2 React简介 22
1.3 React的特征 23
1.3.1 组件化 23
1.3.2 虚拟DOM 24
1.3.3 单向数据流 25
1.4 JSX语法 25
1.4.1 JSX简介 25
1.4.2 JSX的转译 27
1.4.3 JSX的用法 29
1.5 Hello World实战训练 34
1.5.1 不涉及项目构建的Hello World 34
1.5.2 基于Webpack的Hello World 35
1.5.3 Hello World进阶 39
第2章 React的组件 44
2.1 组件的声明方式 44
2.1.1 ES 5写法:React.createClass 44
2.1.2 ES 6写法:React.Component 45
2.1.3 无状态组件 46
2.2 组件的主要成员 47
2.2.1 状态(state) 47
2.2.2 属性(props) 49
2.2.3 render方法 49
2.3 组件之间的通信 52
2.3.1 父组件向子组件通信 52
2.3.2 子组件向父组件通信 53
2.3.3 跨级组件通信 54
2.3.4 非嵌套组件通信 56
2.4 组件的生命周期 58
2.4.1 组件的挂载 58
2.4.2 数据的更新过程 60
2.4.3 组件的卸载(unmounting) 61
2.4.4 错误处理 61
2.4.5 老版React中的生命周期 62
2.4.6 生命周期整体流程总结 63
2.5 组件化实战训练——TodoList 64
第3章 React的事件与表单 70
3.1 事件系统 70
3.1.1 合成事件的事件代理 70
3.1.2 事件的自动绑定 71
3.1.3 在React中使用原生事件 73
3.1.4 合成事件与原生事件混用 73
3.2 表单(Forms) 75
3.2.1 受控组件 75
3.2.2 非受控组件 77
3.2.3 受控组件和非受控组件对比 78
3.2.4 表单组件的几个重要属性 80
3.3 React的样式处理 80
3.3.1 基本样式设置 80
3.3.2 CSS Modules样式设置 82
第4章 React+Redux数据流管理 86
4.1 Flux架构 86
4.1.1 MVC和MVVM 86
4.1.2 Flux介绍 90
4.1.3 深入Flux 91
4.1.4 Flux的缺点 96
4.1.5 Flux架构小结 97
4.2 Redux状态管理工具 97
4.2.1 Redux简介 97
4.2.2 Redux的使用场景 98
4.2.3 Redux的动机 99
4.2.4 Redux三大特性 99
4.2.5 Redux的组成——拆解商城购物车实例 100
4.2.6 Redux搭配React使用 105
4.3 middleware中间件 109
4.3.1 为何需要middleware 109
4.3.2 深入理解middleware 109
4.4 Redux实战训练——网上书店 113
4.4.1 目录结构 113
4.4.2 应用入口 src/index.js 114
4.4.3 Action的创建和触发 116
4.4.4 Reducer的创建 118
4.4.5 UI展示组件的创建 122
4.4.6 发起一个动作Action(添加商品到购物车) 124
第5章 路由 127
5.1 前端路由简介 127
5.2 前端路由的实现原理 127
5.2.1 history API方式 128
5.2.2 Hash方式 129
5.3 react-router路由配置 130
5.3.1 react-router的安装 131
5.3.2 路由配置 131
5.3.3 默认路由 132
5.3.4 路由嵌套 133
5.3.5 重定向 133
5.4 react-router下的history 134
5.4.1 browserHistory模式 134
5.4.2 hashHistory模式 135
5.4.3 createMemoryHistory模式 135
5.5 react-router路由切换 135
5.5.1 Link标签 135
5.5.2 history属性 136
5.5.3 传参 137
5.6 进入和离开的Hook 137
5.6.1 onEnter简介 137
5.6.2 onLeave简介 138
第6章 React的性能及性能优化 139
6.1 diff算法 139
6.1.1 时间复杂度和空间复杂度 139
6.1.2 diff策略 141
6.1.3 key属性 148
6.2 组件重新渲染 149
6.3 PureRender纯渲染 152
6.4 Immutable持久性数据结构库 153
6.4.1 Immutable的作用 153
6.4.2 Immutable的优缺点 155
6.4.3 Immutable和原生JavaScript对象相互转换 156
6.4.4 Immutable中的对象比较 156
6.4.5 Immutable与React配合使用 157
第7章 React服务端渲染 159
7.1 客户端渲染和服务端渲染的区别 159
7.2 在React中实现服务端渲染 160
7.2.1 为何需要服务端渲染 160
7.2.2 服务端渲染中的API 161
7.2.3 渲染方法 161
7.2.4 状态管理 165
7.2.5 Express框架简介 166
7.2.6 路由和HTTP请求 169
7.3 实战训练——服务端渲染 172
7.3.1 项目结构 172
7.3.2 项目实现 172
第8章 自动化测试 178
8.1 测试的作用 178
8.2 单元测试简介 178
8.3 测试工具 180
8.3.1 常见的测试工具 180
8.3.2 React的测试工具 181
8.3.3 单元测试工具Jest 181
8.3.4 单元测试工具Enzyme 187
8.4 Jest和Enzyme实战训练 189
8.4.1 Jest和Enzyme的配置 191
8.4.2 测试From组件视图和单击事件 193
8.4.3 测试ListItems组件视图 196
第9章 实战——React+Redux搭建社区项目 198
9.1 项目结构 198
9.2 Less文件处理 198
9.3 路由和Redux配置 199
9.3.1 前期配置 199
9.3.2 路由功能的测试 201
9.4 业务入口 202
9.5 首页 203
9.5.1 头部 204
9.5.2 列表内容 205
9.6 详情页 224
9.6.1 静态页面开发 224
9.6.2 根据id获取详情 227
9.6.3 渲染内容 228
9.7 个人中心 230
9.7.1 分析页面功能 231
9.7.2 模拟用户登录和登出 232
9.8 实战项目回顾 234
· · · · · · (
收起)
1 有用 Jun 2019-08-16 10:38:37
快速读过,跳过实战部分,内容比较简单