目录
第 一部分
第 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(图灵社区下载)
更新日志(图灵社区下载)
作者介绍
安东尼·阿科马佐(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的系统知识和正确工具。
发货方式
自动:在特色服务中标有自动发货的商品,拍下后,源码类 软件类 商品会在订单详情页显示来自卖家的商品下载链接,点卡类 商品会在订单详情直接显示卡号密码。
手动:未标有自动发货的的商品,付款后,商品卖家会收到平台的手机短信、邮件提醒,卖家会尽快为您发货,如卖家长时间未发货,买家也可通过订单上的QQ或电话主动联系卖家。
退款说明
1、源码类:商品详情(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、功能不能正常使用等)!有演示站时,与实际源码不一致的(但描述中有"不保证完全一样、可能有少许偏差"类似显著公告的除外);
2、营销推广类:未达到卖家描述标准的;
3、点卡软件类:所售点卡软件无法使用的;
3、发货:手动发货商品,在卖家未发货前就申请了退款的;
4、服务:卖家不提供承诺的售后服务的;(双方提前有商定和描述中有显著声明的除外)
5、其他:如商品或服务有质量方面的硬性常规问题的。未符合详情及卖家承诺的。
注:符合上述任一情况的,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法修改描述!
注意事项
1、在付款前,双方在QQ上所商定的内容,也是纠纷评判依据(商定与商品描述冲突时,以商定为准);
2、源码商品,同时有网站演示与商品详情图片演示,且网站演示与商品详情图片演示不一致的,默认按商品详情图片演示作为纠纷评判依据(卖家有特别声明或有额外商定的除外);
3、点卡软件商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
4、营销推广商品,默认按商品详情作为纠纷评判依据(特别声明或有商定除外);
5、在有"正当退款原因和依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
6、虽然交易产生纠纷的几率很小,卖家也肯定会给买家最完善的服务!但请买卖双方尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于送码网快速介入处理。
送码声明
1、送码网作为第三方中介平台,依据双方交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与送码网无关;无论卖家以何理由要求线下交易的(如:要求买家支付宝转账付款的,微信转账付款的等),请联系管理举报,本平台将清退卖家处理。
正版 steam 原子之心 Atomic Heart 国区激活码 cd...
steam 英雄连3 国区激活码CDKEY PC游戏正版 Compan...
M,日朋礼送男友老公创意实人用星人际机器蓝牙音箱走心情节生礼...
zippo之宝官方正品打火机古银双面贴章机器人煤油机送男友礼物女...
秋季圆领卫衣套头男友风秋天长袖时尚潮流印花卡通机器派大星上衣...
机器猫情侣衬衫小叮当落肩短袖衬衣男友外套大码潮流套装上衣薄款...
PDPAOLA小机器人情侣手链女男生日礼物520送男友男士款闺蜜Rob...
兼容乐高复仇者联盟4战争机器积木人仔钢铁侠救援机甲玩具WM723...
兼容乐高复联4钢铁侠X0252灭霸MK50 MK1战争机器拼装积木人仔...
XBOX ONE SERIES X|S 中文 战争机器4与光环5守护...