- 系统掌握React生态:一站式学习React核心库及Redux、React Router、Webpack等配套工具。
- 理解组件化开发思想:从组件拆分、状态管理到数据流,建立完整的React开发思维。
- 掌握虚拟DOM与JSX原理:深入理解React渲染机制,写出性能更优的代码。
- 学会前端工程化:通过Webpack和Create React App掌握现代前端构建工具链。
- 建立测试驱动习惯:学习Jest和Enzyme,为React应用编写可靠的单元测试。
★★★
中级
入门初级中级进阶高级
- 前端开发初学者:有HTML/CSS/JS基础,希望系统学习React技术栈。
- Vue/Angular开发者:想拓展React技能,了解不同框架的设计理念。
- 全栈工程师:需要掌握前端主流框架,提升全栈开发能力。
- 计算机专业学生:通过完整项目案例学习现代前端开发,为求职做准备。
- 技术团队负责人:需要评估React技术栈,为团队技术选型做参考。
- 按章节顺序系统学习:本书设计为课程式学习路径,建议从头到尾循序渐进。
- 动手完成每章示例:每章配有示例代码,务必亲手编写和调试,加深理解。
- 重点攻克第4、5、10章:虚拟DOM、组件配置和Redux是React核心难点。
- 结合项目实战章节练习:通过Product Hunt和计时器等项目巩固所学知识。
- 学完测试章节后为项目补测试:养成编写单元测试的习惯,提升代码质量。
- React全栈能力:掌握React核心库及Redux、Router、Webpack等完整生态工具。
- 组件化架构思维:学会合理拆分组件、设计数据流,构建可维护的前端应用。
- 工程化实践能力:熟练使用Webpack和Create React App进行项目构建与优化。
- 测试驱动开发习惯:能够使用Jest和Enzyme为React组件编写单元测试。
- 状态管理经验:深入理解Flux和Redux架构,能设计可预测的状态管理方案。
- 项目实战积累:通过多个完整项目积累经验,具备独立开发React应用的能力。
📖 书籍简介
作 者:(美)安东尼·阿科马佐 等 著 欧阳奖 译
定 价:169
出 版 社:人民邮电出版社
出版日期:2021年01月01日
页 数:628
装 帧:平装
ISBN:9787115551382
web开发人员需要考虑使用不同的代码解决浏览器兼容性问题。
React改变了这种局面,它不仅可以帮你为用户创建良好的应用程序,而且还可以让你成为一名更出色的开发人员。
本书介绍了React的整个生态系统,包括React核心库和许多工具。
读完本书后,你和你的团队将拥有构建可靠且功能强大的React应用程序所需的一切知识。
本书不只是一本书,而且还可以当作一门课程来学习,每一章都配有示例代码,提供源代码下载
本书能帮助你“一站式”获取React的系统知识和正确工具,免去四处搜罗碎片化知识的烦恼,为等
●部分
章 个React Web应用程序2
1.1构建Product Hunt项目2
1.2设置开发环境2
1.3针对Windows用户的特殊说明3
1.4 ES6/ES73
1.5开始4
1.6什么是组件8
1.7构建Product组件16
1.8让数据驱动Product组件18
1.9应用程序的次交互:投票事件响应26
1.10更新state和不变性33
1.11用Babel插件重构transform-class-properties37
1.12祝贺你41
第2章 组件42
2.1计时器应用程序42
2.2开始43
2.3将应用程序分解为组件46
2.4从头开始构建React应用程序的步骤50
2.5第(2)步:构建应用程序的静态版本52
2.6第(3)步:确定哪些组件应该是有状态的58
2.7第(4)步:确定每个state 应该位于哪个组件中60
2.8第(5)步:通过硬编码来初始化state61
2.9第(6)步:添加反向数据流68
2.10更新计时器72
2.11删除计时器77
2.12添加计时功能79
2.13添加启动和停止功能81
2.14方法回顾86
第3章组件和服务器87
3.1介绍87
3.2server.js87
3.3服务器API88
3.4使用API90
3.5从服务器加载状态92
3.6client94
3.7向服务器发送开始和停止请求97
3.8向服务器发送创建、更新和删除请求99
3.9下一步100
第4章JSX和虚拟DOM101
4.1React使用了虚拟DOM101
4.2为什么不修改实际的DOM101
4.3什么是虚拟DOM101
4.4虚拟DOM片段102
4.5ReactElement102
4.6JSX107
4.7参考文献113
第5章具有props、state和children的不错组件配置114
5.1介绍114
5.2如何使用本章115
5.3ReactComponent115
5.4props是参数117
5.5PropTypes118
5.6使用getDefaultProps()获取默认props119
5.7上下文120
5.8state123
5.9无状态组件131
5.10使用props.children与子组件对话133
5.11总结137
5.12参考文献137
第6章表单138
6.1表单101138
6.2文本输入142
6.3远程数据163
异步持久性171
6.5Redux176
6.6表单模块185
第7章Webpack与Create React App结合使用186
7.1模块186
7.2Create React App188
7.3探索Create React App188
7.4Webpack基础196
7.5对示例应用程序进行修改201
7.6创建生产构建202
7.7弹出205
7.8Create React App和API服务器一起使用207
7.9Webpack总结216
第8章单元测试218
8.1不使用框架编写测试218
8.2Jest是什么226
8.3使用Jest226
8.4React应用程序的测试策略232
8.5使用Enzyme测试基本的React组件234
8.6为食物查找应用程序编写测试256
8.7编写FoodSearch.test.js2
8.8进一步阅读287
第9章路由289
9.1URL中有什么289
9.2构建react-router组件292
9.3使用React Router的动态路由316
9.4支持身份验证的路由337
9.5回顾一下348
第二部分
0章 Flux和Redux介绍350
10.1Flux诞生的原因350
10.2Flux实现351
10.3Redux352
10.4构建一个计数器352
10.5构建store358
10.6Redux的核心361
10.7早期的聊天应用程序362
10.8构建reducer()函数365
10.9订阅store370
10.10将Redux连接到React373
10.11下一步380
1章 Redux中间件381
11.1准备381
11.2使用redux库的createStore()函数382
11.3将消息表示为处于状态中的对象383
11.4引入多线程387
11.5添加ThreadTabs组件393
11.6在reducer中支持多线程395
11.7添加OPEN_THREAD动作404
11.8拆分reducer函数407
11.9添加messagesReducer()函数412
11.10在reducer中定义初始状态417
11.11使用redux的combineReducers()函数420
11.12下一步421
2章 表示组件和容器组件与Redux一起使用422
12.1表示组件和容器组件422
12.2拆分ThreadTabs组件424
12.3拆分Thread组件428
12.4从App组件中移除store433
12.5使用react-redux库创建容器组件434
12.6动作创建器443
12.7总结445
3章 使用GraphQL446
13.1个GraphQL查询446
13.2GraphQL的好处447
13.3GraphQL和REST448
13.4GraphQL和SQL449
13.5Relay 框架和GraphQL框架450
13.6本章预览450
13.7使用GraphQL451
13.8探索GraphiQL451
13.9GraphQL语法454
13.10复杂类型458
13.11探索Graph460
13.12图节点462
13.13viewer463
13.14图的连接和边4
13.15变更467
13.16订阅468
13.17GraphQL和结合使用469
13.18GraphQL与React结合使用470
13.19总结471
4章 GraphQL服务器472
14.1编写一个GraphQL服务器472
14.2Windows用户的特殊设置472
14.3连接496
14.4总结512
5章 经典Relay514
15.1介绍514
15.2Relay是一个数据架构520
15.3Relay和GraphQL约定520
15.4将Relay添加到应用程序中529
15.5BooksPage组件545
15.6使用变更修改数据554
15.7构建图书页面554
15.8变更559
15.9总结565
15.10参考资料565
6章 React Native567
16.1初始化568
16.2路由569
16.3571
1Web组件与原生组件576
16.5样式584
16.6HTTP请求602
16.7什么是promise602
16.8一次性使用保证605
16.9创建新promise605
16.10使用React Native进行调试606
16.11资料参考608
附录APropTypes(图灵社区下载)
附录BES6(图灵社区下载)
附录CReact Hook(图灵社区下载)
更新日志(图灵社区下载)
章 个React Web应用程序2
1.1构建Product Hunt项目2
1.2设置开发环境2
1.3针对Windows用户的特殊说明3
1.4 ES6/ES73
1.5开始4
1.6什么是组件8
1.7构建Product组件16
1.8让数据驱动Product组件18
1.9应用程序的次交互:投票事件响应26
1.10更新state和不变性33
1.11用Babel插件重构transform-class-properties37
1.12祝贺你41
第2章 组件42
2.1计时器应用程序42
2.2开始43
2.3将应用程序分解为组件46
2.4从头开始构建React应用程序的步骤50
2.5第(2)步:构建应用程序的静态版本52
2.6第(3)步:确定哪些组件应该是有状态的58
2.7第(4)步:确定每个state 应该位于哪个组件中60
2.8第(5)步:通过硬编码来初始化state61
2.9第(6)步:添加反向数据流68
2.10更新计时器72
2.11删除计时器77
2.12添加计时功能79
2.13添加启动和停止功能81
2.14方法回顾86
第3章组件和服务器87
3.1介绍87
3.2server.js87
3.3服务器API88
3.4使用API90
3.5从服务器加载状态92
3.6client94
3.7向服务器发送开始和停止请求97
3.8向服务器发送创建、更新和删除请求99
3.9下一步100
第4章JSX和虚拟DOM101
4.1React使用了虚拟DOM101
4.2为什么不修改实际的DOM101
4.3什么是虚拟DOM101
4.4虚拟DOM片段102
4.5ReactElement102
4.6JSX107
4.7参考文献113
第5章具有props、state和children的不错组件配置114
5.1介绍114
5.2如何使用本章115
5.3ReactComponent115
5.4props是参数117
5.5PropTypes118
5.6使用getDefaultProps()获取默认props119
5.7上下文120
5.8state123
5.9无状态组件131
5.10使用props.children与子组件对话133
5.11总结137
5.12参考文献137
第6章表单138
6.1表单101138
6.2文本输入142
6.3远程数据163
异步持久性171
6.5Redux176
6.6表单模块185
第7章Webpack与Create React App结合使用186
7.1模块186
7.2Create React App188
7.3探索Create React App188
7.4Webpack基础196
7.5对示例应用程序进行修改201
7.6创建生产构建202
7.7弹出205
7.8Create React App和API服务器一起使用207
7.9Webpack总结216
第8章单元测试218
8.1不使用框架编写测试218
8.2Jest是什么226
8.3使用Jest226
8.4React应用程序的测试策略232
8.5使用Enzyme测试基本的React组件234
8.6为食物查找应用程序编写测试256
8.7编写FoodSearch.test.js2
8.8进一步阅读287
第9章路由289
9.1URL中有什么289
9.2构建react-router组件292
9.3使用React Router的动态路由316
9.4支持身份验证的路由337
9.5回顾一下348
第二部分
0章 Flux和Redux介绍350
10.1Flux诞生的原因350
10.2Flux实现351
10.3Redux352
10.4构建一个计数器352
10.5构建store358
10.6Redux的核心361
10.7早期的聊天应用程序362
10.8构建reducer()函数365
10.9订阅store370
10.10将Redux连接到React373
10.11下一步380
1章 Redux中间件381
11.1准备381
11.2使用redux库的createStore()函数382
11.3将消息表示为处于状态中的对象383
11.4引入多线程387
11.5添加ThreadTabs组件393
11.6在reducer中支持多线程395
11.7添加OPEN_THREAD动作404
11.8拆分reducer函数407
11.9添加messagesReducer()函数412
11.10在reducer中定义初始状态417
11.11使用redux的combineReducers()函数420
11.12下一步421
2章 表示组件和容器组件与Redux一起使用422
12.1表示组件和容器组件422
12.2拆分ThreadTabs组件424
12.3拆分Thread组件428
12.4从App组件中移除store433
12.5使用react-redux库创建容器组件434
12.6动作创建器443
12.7总结445
3章 使用GraphQL446
13.1个GraphQL查询446
13.2GraphQL的好处447
13.3GraphQL和REST448
13.4GraphQL和SQL449
13.5Relay 框架和GraphQL框架450
13.6本章预览450
13.7使用GraphQL451
13.8探索GraphiQL451
13.9GraphQL语法454
13.10复杂类型458
13.11探索Graph460
13.12图节点462
13.13viewer463
13.14图的连接和边4
13.15变更467
13.16订阅468
13.17GraphQL和结合使用469
13.18GraphQL与React结合使用470
13.19总结471
4章 GraphQL服务器472
14.1编写一个GraphQL服务器472
14.2Windows用户的特殊设置472
14.3连接496
14.4总结512
5章 经典Relay514
15.1介绍514
15.2Relay是一个数据架构520
15.3Relay和GraphQL约定520
15.4将Relay添加到应用程序中529
15.5BooksPage组件545
15.6使用变更修改数据554
15.7构建图书页面554
15.8变更559
15.9总结565
15.10参考资料565
6章 React Native567
16.1初始化568
16.2路由569
16.3571
1Web组件与原生组件576
16.5样式584
16.6HTTP请求602
16.7什么是promise602
16.8一次性使用保证605
16.9创建新promise605
16.10使用React Native进行调试606
16.11资料参考608
附录APropTypes(图灵社区下载)
附录BES6(图灵社区下载)
附录CReact Hook(图灵社区下载)
更新日志(图灵社区下载)
使用React能让前端开发人员用更少、更安全的代码来构建更可靠、更强大的应用程序。本书分为两部分,全面介绍了React的相关主题。分通过例子循序渐进地讲解基础知识,包括创建一个投票应用程序、编写组件、处理用户交互、管理富表单,以及与服务器交互,此外还探索了Create React App的工作原理,编写自动化单元测试,以及使用客户端路由构建多页面应用程序。第二部分探讨在大型应用程序产品中使用的更不错的概念——数据的架构、传输和管理的策略,讲解了Redux、GraphQL、Relay,以及如何使用React Native编写原生、跨平台的移动应用程序。书中每一章都配有示例代码,有助于读者巩固所学。
📑 章节目录
- 第一个React Web应用:Product Hunt项目实战
- 组件化思维:计时器应用的拆解与构建
- 组件与服务器通信:API调用与数据持久化
- JSX与虚拟DOM:React渲染机制深入解析
- Props、State与Children:组件配置与数据流
- 表单处理:受控组件与异步数据交互
- Webpack与Create React App工程化实践
- 单元测试:Jest与Enzyme测试React组件
- 路由管理:React Router动态路由与权限控制
- Flux与Redux:可预测状态管理架构
- Redux进阶:中间件、异步Action与实战应用
- React全栈项目综合实战与部署