React实战
作者:[美] 马克 蒂伦斯 托马斯 著,任发科,陈伟,蒋峰,邱巍 译
出版时间: 2020年版
内容简介
《React实战》涵盖了构建React应用所涉及的概念和API,全书共13章,分为3个部分,从React的核心思想和关键点讲起,并随着进展涉及更具体和高级的主题。首先介绍React的核心思想,探讨了React的一些关键点,展示React如何适应使用者的开发过程;然后开始深入React,描述数据如何在React中流动,介绍组件生命周期API,开始构建Letters Social示例项目,处理表单以及路由的关键部分;最后将注意力专门放在把应用转换到使用Redux,介绍Redux状态管理方案,探索服务器端渲染,并简要地介绍React Native项目。本书结构清晰,内容由浅入深,适合任何对React感兴趣,想学习React的读者,也适合前端开发人群。
目录
第 一部分 初识React
第 1章 初识React 3
1.1 初识React 3
1.1.1 本书的受众 6
1.1.2 工具说明 6
1.1.3 谁在使用React 7
1.2 React不能做什么 8
1.3 虚拟DOM 11
1.3.1 DOM 11
1.3.2 虚拟DOM 13
1.3.3 更新与差异比对 13
1.3.4 虚拟DOM:渴求速度 14
1.4 组件:React的基本单元 14
1.4.1 组件概览 15
1.4.2 React中的组件:封装与复用 16
1.5 团队的React 16
1.6 小结 17
第 2章 :我们的第 一个组件 19
2.1 React组件介绍 21
2.1.1 理解应用数据 22
2.1.2 多组件:组合关系和父子关系 23
2.1.3 建立组件关系 24
2.2 用React创建组件 26
2.2.1 创建React元素 26
2.2.2 渲染首个组件 29
2.2.3 创建React组件 31
2.2.4 创建React类 31
2.2.5 render方法 32
2.2.6 通过PropTypes校验属性 33
2.3 组件的一生 36
2.3.1 React的状态 37
2.3.2 设定初始状态 38
2.4 认识JSX 45
2.4.1 使用JSX创建组件 46
2.4.2 JSX的好处以及JSX与HTML的差别 48
2.5 小结 48
第二部分 React中的组件和数据
第3章 React中的数据和数据流 53
3.1 状态介绍 53
3.1.1 什么是状态 54
3.1.2 可变状态与不可变状态 56
3.2 React中的状态 57
3.2.1 React中的可变状态:组件状态 58
3.2.2 React中的不可变状态:属性 61
3.2.3 使用属性:PropTypes和默认属性 62
3.2.4 无状态函数组件 63
3.3 组件通信 65
3.4 单向数据流 66
3.5 小结 67
第4章 React中的渲染和生命周期方法 69
4.1 搭建Letters Social仓库 69
4.1.1 获取源代码 71
4.1.2 应该使用哪个版本的Node 71
4.1.3 关于工具和CSS的注意事项 72
4.1.4 部署 72
4.1.5 API服务器和数据库 72
4.1.6 运行应用程序 73
4.2 渲染过程和生命周期方法 73
4.2.1 生命周期方法概览 73
4.2.2 生命周期方法的类型 75
4.2.3 初始方法和“将执行”方法 78
4.2.4 挂载组件 79
4.2.5 更新方法 82
4.2.6 卸载方法 85
4.2.7 捕捉错误 86
4.3 开始创建Letters Social 90
4.4 小结 96
第5章 在React中使用表单 99
5.1 在Letters Social中创建帖子 100
5.1.1 数据需求 100
5.1.2 组件概览与层级 100
5.2 React中的表单 102
5.2.1 开始使用表单 103
5.2.2 表单元素和事件 103
5.2.3 更新表单状态 106
5.2.4 受控和非受控组件 107
5.2.5 表单验证与清理 109
5.3 创建新帖子 112
5.4 小结 114
第6章 将第三方库与React集成 115
6.1 向Letters Social API发送帖子 116
6.2 用地图增强组件 117
6.2.1 使用refs创建DisplayMap组件 118
6.2.2 创建LocationTypeAhead组件 124
6.2.3 更新CreatePost,给帖子添加地图 130
6.3 小结 134
第7章 React的路由 135
7.1 什么是路由 136
7.2 创建路由器 137
7.2.1 组件路由 138
7.2.2 创建组件 139
7.2.3 开始构建组件 140
7.2.4 匹配URL路径和参数化
路由 143
7.2.5 向Router组件添加路由 144
7.3 小结 150
第8章 再谈路由以及集成Firebase 153
8.1 使用路由器 154
8.1.1 创建帖子页面 159
8.1.2 创建组件 161
8.1.3 创建组件 164
8.2 集成Firebase 165
8.3 小结 172
第9章 测试React组件 173
9.1 测试的类型 174
9.2 用Jest、Enzyme和
React-test-render测试React组件 177
9.3 编写第 一个测试 178
9.3.1 开始使用Jest 179
9.3.2 测试无状态函数组件 180
9.3.3 不使用Enzyme测试CreatePost组件 183
9.3.4 测试覆盖率 192
9.4 小结 194
第三部分 React应用架构
第 10章 Redux应用架构 197
10.1 Flux应用架构 198
10.1.1 初识Redux:Flux的一个变种 200
10.1.2 为Redux做准备 201
10.2 在Redux中创建action 203
10.2.1 定义action类型 204
10.2.2 在Redux中创建action 205
10.2.3 创建Redux store并派发action 206
10.2.4 异步action和中间件 210
10.2.5 要不要使用Redux 215
10.2.6 测试action 218
10.2.7 创建用于崩溃报告的自定义Redux中间件 219
10.3 小结 221
第 11章 Redux进阶及Redux与React集成 223
11.1 reducer决定状态应该如何改变 224
11.1.1 状态的结构与初始状态 225
11.1.2 设置reducer来响应传入的action 226
11.1.3 将reducer合并到store 232
11.1.4 测试reducer 233
11.2 将React和Redux结合起来 234
11.2.1 容器组件与展示组件 235
11.2.2 使用将组件连接到Redux store 237
11.2.3 将action绑定到组件的事件处理器上 241
11.2.4 更新测试 244
11.3 小结 245
第 12章 服务器端React与集成React Router 247
12.1 什么是服务器端渲染 248
12.2 为什么在服务器上 渲染 251
12.3 可能并不需要SSR 253
12.4 在服务器上渲染 组件 254
12.5 切换到React Router 259
12.6 使用React Router处理已 验证的路由器 264
12.7 带数据获取的服务器端 渲染 268
12.8 小结 276
第 13章 React Native介绍 279
13.1 介绍React Native 279
13.2 React和React Native 282
13.3 何时使用React Native 284
13.4 最简单的“Hello World” 285
13.5 下一站 289
13.6 小结 290