书籍详情
React+Redux前端开发实战
作者:徐顺发
出版社:机械工业出版社
出版时间:2019-07-01
ISBN:9787111631453
定价:¥69.00
购买这本书可以去
内容简介
本书是一本React入门书,也是一本React实践书,更是一本React企业级项目开发指导书。全书系统地介绍了以React.js为中心的各种前端开发技术,可以帮助前端开发人员系统地掌握这些知识,提升自己的开发水平。本书共9章,依次介绍了用Webpack构建项目、模块化与组件开发、React中的事件系统与表单、React Redux数据流管理、react-router路由、React性能优化原理与方法、React服务端渲染、自动化测试工具与实战,*后通过一个企业级项目开发实战案例,带领读者进一步夯实并实践React知识。本书是一本大前端学习入门与实战读物,不仅适合React开发人员阅读,也适合跨平台开发的前端人员阅读,而且还可以作为React开发的“字典”供开发人员随时翻阅。
作者简介
徐顺发(Allan)贝贝集团前端技术专家。爱折腾,热衷于技术研究和技术分享。主攻前端架构和各类框架,擅长React.js、Vue.js和Node.js等主流技术栈。曾经获得了2018年SegmentFault Hackathon区块链黑客马拉松冠军。
目录
第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.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
……
猜您喜欢