React全家桶:前端开发与实例详解
书籍作者:安东尼·阿科马佐 |
ISBN:9787115551382 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:5206 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
使用React能让前端开发人员用更少、更安全的代码来构建更可靠、更强大的应用程序。本书分为两部分,全面介绍了React的相关主题。第一部分通过例子循序渐进地讲解基础知识,包括创建一个投票应用程序、编写组件、处理用户交互、管理富表单,以及与服务器交互,此外还探索了Create React App的工作原理,编写自动化单元测试,以及使用客户端路由构建多页面应用程序。第二部分探讨在大型应用程序产品中使用的更高级的概念——数据的架构、传输和管理的策略,讲解了Redux、GraphQL、Relay,以及如何使用React Native编写原生、跨平台的移动应用程序。书中每一章都配有示例代码,有助于读者巩固所学。
作者简介
安东尼·阿科马佐(Anthony Accomazzo)
现就职于Decode软件公司,作者、编辑、顾问,有多年React与React Native研究经验,曾主导IFTTT API平台开发。
纳特·默里(Nate Murray)
全栈工程师,曾任IFTTT及AT&T工程师,拥有数据挖掘和增量Web服务等方面的背景。
阿里·勒纳(Ari Lerner)
全栈工程师,Fullstack网站联合创始人,AWS顾问。曾任AT&T软件工程师与创新布道者,Fieldday联合创始人。
克莱·奥尔索普(Clay Allsopp)
Plaid工程主管,Propeller联合创始人,曾任LikeALittle工程师。
大卫·古特曼(David Guttman)
AT&T高级研发工程师,Rollmob、AdNet、Interlincx Media等公司的首席技术官,Superstruct创始人,也是JS.LA等JavaScript活动的组织策划者。
泰勒·麦金尼斯(Tyler McGinnis)
谷歌开发技术专家,Ui学习网站创始人,React.js项目的创作者,也是React.js Utah和ReactWeek等活动的组织策划者。
【译者简介】
欧阳奖
拥有多年前端管理经验,对前端技术发展有浓厚的兴趣,目前为联众智慧科技股份有限公司的系统架构师。
编辑推荐
web开发人员需要考虑使用不同的代码解决浏览器兼容性问题。
React改变了这种局面,它不仅可以帮你为用户创建良好的应用程序,而且还可以让你成为一名更出色的开发人员。
本书介绍了React的整个生态系统,包括React核心库和许多工具。
读完本书后,你和你的团队将拥有构建可靠且功能强大的React应用程序所需的一切知识。
本书不只是一本书,而且还可以当作一门课程来学习,每一章都配有示例代码,提供源代码下载
本书能帮助你“一站式”获取React的系统知识和正确工具,免去四处搜罗碎片化知识的烦恼,为前端开发打下坚实的基础。
创建自己的应用程序——编写组件,处理用户交互,管理富表单,与服务器交互
探索Create React App的工作原理,编写自动化单元测试,使用客户端路由构建多页面应用程序
探讨数据的架构、传输和管理策略——Redux、GraphQL和Relay
使用React Native编写原生、跨平台的移动应用程序
目录
第 一部分
第 1章 第 一个React Web应用程序 2
1.1 构建Product Hunt项目 2
1.2 设置开发环境 2
1.3 针对Windows用户的特殊说明 3
1.4 JavaScript ES6/ES7 3
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-properties 37
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)步:通过硬编码来初始化state 61
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.2 server.js 87
3.3 服务器API 88
3.4 使用API 90
3.5 从服务器加载状态 92
3.6 client 94
3.7 向服务器发送开始和停止请求 97
3.8 向服务器发送创建、更新和删除请求 99
3.9 下一步 100
第4章 JSX和虚拟DOM 101
4.1 React使用了虚拟DOM 101
4.2 为什么不修改实际的DOM 101
4.3 什么是虚拟DOM 101
4.4 虚拟DOM片段 102
4.5 ReactElement 102
4.6 JSX 107
4.7 参考文献 113
第5章 具有props、state和children的高级组件配置 114
5.1 介绍 114
5.2 如何使用本章 115
5.3 ReactComponent 115
5.4 props是参数 117
5.5 PropTypes 118
5.6 使用getDefaultProps()获取默认props 119
5.7 上下文 120
5.8 state 123
5.9 无状态组件 131
5.10 使用props.children与子组件对话 133
5.11 总结 137
5.12 参考文献 137
第6章 表单 138
6.1 表单101 138
6.2 文本输入 142
6.3 远程数据 163
6.4 异步持久性 171
6.5 Redux 176
6.6 表单模块 185
第7章 Webpack与Create React App结合使用 186
7.1 JavaScript模块 186
7.2 Create React App 188
7.3 探索Create React App 188
7.4 Webpack基础 196
7.5 对示例应用程序进行修改 201
7.6 创建生产构建 202
7.7 弹出 205
7.8 Create React App和API服务器一起使用 207
7.9 Webpack总结 216
第8章 单元测试 218
8.1 不使用框架编写测试 218
8.2 Jest是什么 226
8.3 使用Jest 226
8.4 React应用程序的测试策略 232
8.5 使用Enzyme测试基本的React组件 234
8.6 为食物查找应用程序编写测试 256
8.7 编写FoodSearch.test.js 264
8.8 进一步阅读 287
第9章 路由 289
9.1 URL中有什么 289
9.2 构建react-router组件 292
9.3 使用React Router的动态路由 316
9.4 支持身份验证的路由 337
9.5 回顾一下 348
第二部分
第 10章 Flux和Redux介绍 350
10.1 Flux诞生的原因 350
10.2 Flux实现 351
10.3 Redux 352
10.4 构建一个计数器 352
10.5 构建store 358
10.6 Redux的核心 361
10.7 早期的聊天应用程序 362
10.8 构建reducer()函数 365
10.9 订阅store 370
10.10 将Redux连接到React 373
10.11 下一步 380
第 11章 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
第 12章 表示组件和容器组件与Redux一起使用 422
12.1 表示组件和容器组件 422
12.2 拆分ThreadTabs组件 424
12.3 拆分Thread组件 428
12.4 从App组件中移除store 433
12.5 使用react-redux库创建容器组件 434
12.6 动作创建器 443
12.7 总结 445
第 13章 使用GraphQL 446
13.1 第 一个GraphQL查询 446
13.2 GraphQL的好处 447
13.3 GraphQL和REST 448
13.4 GraphQL和SQL 449
13.5 Relay 框架和GraphQL框架 450
13.6 本章预览 450
13.7 使用GraphQL 451
13.8 探索GraphiQL 451
13.9 GraphQL语法 454
13.10 复杂类型 458
13.11 探索Graph 460
13.12 图节点 462
13.13 viewer 463
13.14 图的连接和边 464
13.15 变更 467
13.16 订阅 468
13.17 GraphQL和JavaScript结合使用 469
13.18 GraphQL与React结合使用 470
13.19 总结 471
第 14章 GraphQL服务器 472
14.1 编写一个GraphQL服务器 472
14.2 Windows用户的特殊设置 472
14.3 连接 496
14.4 总结 512
第 15章 经典Relay 514
15.1 介绍 514
15.2 Relay是一个数据架构 520
15.3 Relay和GraphQL约定 520
15.4 将Relay添加到应用程序中 529
15.5 BooksPage组件 545
15.6 使用变更修改数据 554
15.7 构建图书页面 554
15.8 变更 559
15.9 总结 565
15.10 参考资料 565
第 16章 React Native 567
16.1 初始化 568
16.2 路由 569
16.3 571
16.4 Web组件与原生组件 576
16.5 样式 584
16.6 HTTP请求 602
16.7 什么是promise 602
16.8 一次性使用保证 605
16.9 创建新promise 605
16.10 使用React Native进行调试 606
16.11 资料参考 608
附录A PropTypes(图灵社区下载)
附录B ES6(图灵社区下载)
附录C React Hook(图灵社区下载)
更新日志(图灵社区下载)