Web开发经典丛书 快速上手React编程 作者:(美)阿扎 马尔丹(AzatMardan) 著 出版时间:2018年版丛编项: Web开发经典丛书内容简介 《快速上手React编程》面向希望快速上手React.js进行Web开发的读者,借助精心挑选和详细解释的实例,帮助读者使用现有的JavaScript和Web开发技能学习React开发。在学习Web组件、表单和数据的过程中,还将探索许多不同的项目。 主要特点: 掌握React基础 使用数据和路由构建完整的Web应用 测试组件 优化React应用。目录第Ⅰ部分 React基础第1章 初积React 31.1 什么是React 41.2 React解决的问题 51.3 使用React的好处 61.3.1 简单性 61.3.2 速度和可测试性 111.3.3 生态和社区 121.4 React的缺点 131.5 React如何与Web应用集成 131.5.1 React类库和渲染目标 141.5.2 单页面应用和React 151.5.3 React技术栈 171.6 第一个React项目:Hello World 181.7 测验 211.8 小结 211.9 测验答案 22第2章 React起步 232.1 内嵌元素 232.2 创建组件类 262.3 属性 292.4 测验 342.5 小结 342.6 测验答案 34第3章 JSX 353.1 JSX是什么?它有什么优点 363.2 理解JSX 383.2.1 使用JSX创建元素 393.2.2 在组件中使用JSX 403.2.3 在JSX中输出变量 413.2.4 在JSX中使用属性 423.2.5 创建React组件的方法 463.2.6 JSX中的if/else 473.2.7 JSX中的注释 513.3 使用Babel设置JSX转译器 513.4 React和JSX陷阱 553.4.1 特殊字符 563.4.2 data-属性 563.4.3 style属性 573.4.4 class和for 583.4.5 布尔类型的属性值 583.5 测验 593.6 小结 593.7 测验答案 59第4章 与状态交互 614.1 什么是React组件的状态 624.2 使用状态 634.2.1 访问状态 634.2.2 设置初始状态 654.2.3 更新状态 674.3 状态和属性 704.4 无状态组件 714.5 有状态组件和无状态组件 734.6 测验 774.7 小结 774.8 测验答案 78第5章 React组件生命周期 795.1 React组件生命周期事件的全景视图 805.2 事件的分类 805.3 实现生命周期事件 825.4 执行所有事件 845.5 挂载事件 865.5.1 componentWillMount( ) 875.5.2 componentDidMount( ) 875.6 更新事件 905.6.1 componentWillReceiveProps(newProps) 905.6.2 shouldComponentUpdate( ) 915.6.3 componentWillUpdate( ) 915.6.4 componentDidUpdate() 925.7 卸载事件 925.8 一个简单示例 925.9 测验 955.10 小结 955.11 测验答案 96第6章 React事件处理 976.1 在React中处理DOM事件 976.1.1 捕获和冒泡阶段 1006.1.2 React事件的内幕 1026.1.3 使用ReactSyntheticEvent事件对象 1056.1.4 使用事件和状态 1086.1.5 传递事件处理程序和属性 1096.1.6 组件通信 1126.2 响应React不支持的DOM事件 1136.3 React和其他库的集成:jQuery UI事件 1166.3.1 集成按钮 1166.3.2 集成标签 1186.4 测验 1196.5 小结 1196.6 测验答案 120第7章 在React中使用表单 1217.1 在React中使用表单的最佳实践 1217.1.1 在React中定义表单及响应事件 1237.1.2 定义表单元素 1257.1.3 捕获表单变更 1307.1.4 账户字段示例 1327.2 使用表单的其他方式 1347.2.1 可捕获变更的非受控元素 1357.2.2 不捕获变更的非受控元素 1367.2.3 使用引用获取值 1377.2.4 默认值 1397.3 测验 1407.4 小结 1417.5 测验答案 141第8章 扩展React组件 1438.1 组件中的默认属性 1448.2 React属性类型和验证 1458.3 渲染子组件 1528.4 创建React高阶组件以实现代码复用 1548.4.1 使用displayName:用以区分父组件与子组件 1568.4.2 使用扩展运算符:传递所有属性 1578.4.3 使用高阶组件 1588.5 最佳实践:展示组件与容器组件 1608.6 测验 1618.7 小结 1618.8 测验答案 162第9章 项目:菜单组件 1639.1 项目结构和脚手架 1649.2 不使用JSX构建菜单 1659.2.1 Menu组件 1659.2.2 Link组件 1689.2.3 运行菜单组件 1709.3 在JSX中构建菜单 1719.3.1 重构Menu组件 1729.3.2 重构Link组件 1749.3.3 运行JSX项目 1759.4 测验 1759.5 小结 176第10章 项目:Tooltip组件 17710.1 项目结构和脚手架 17810.2 Tooltip组件 17910.2.1 toggle( )函数 18010.2.2 render( )函数 18110.3 运行Tooltip组件 18310.4 测验 18410.5 小结 184第11章 项目:Timer组件 18511.1 项目结构和脚手架 18611.2 应用架构 18711.3 TimerWrapper组件 18911.4 Timer组件 19311.5 Button组件 19411.6 运行Timer组件 19611.7 测验 19611.8 小结 197第Ⅱ部分 React架构第12章 Webpack构建工具 20112.1 Webpack的作用 20112.2 添加Webpack到项目中 20312.2.1 安装Webpack及其依赖 20412.2.2 配置Webpack 20512.3 模块化代码 20712.4 运行Webpack并测试构建 20812.5 热模块替换 21012.5.1 配置HMR 21112.5.2 热模块替换实践 21412.6 测验 21612.7 小结 21612.8 测验答案 216第13章 React路由 21713.1 从零开始实现路由 21813.1.1 建立项目 21913.1.2 在app.jsx中创建路由映射 22013.1.3 在router.jsx中创建Router组件 22113.2 React Router 22213.2.1 React Router的JSX样式 22513.2.2 哈希记录 22713.2.3 浏览器记录 22713.2.4 使用Webpack安装React Router开发环境 22813.2.5 创建布局组件 23013.3 React Router特性 23313.3.1 使用withRouter高阶组件访问路由器 23413.3.2 以编程方式导航 23513.3.3 URL参数和其他路由数据 23513.3.4 在React Router中传递属性 23613.4 使用Backbone路由 23713.5 测验 24013.6 小结 24113.7 测验答案 241第14章 使用Redux处理数据 24314.1 React支持单向数据流 24414.2 了解Flux数据体系结构 24614.3 使用Redux数据类库 24714.3.1 用Redux创建依照Netflix的应用 24914.3.2 依赖和配置 25014.3.3 启用Redux 25314.3.4 路由 25314.3.5 合并reducer 25414.3.6 电影的reducer 25514.3.7 操作 25814.3.8 操作创建器 25914.3.9 将组件连接到数据存储 26014.3.10 分发操作 26214.3.11 将操作创建器传递到组件属性中 26314.3.12 运行Netflix的克隆版 26714.3.13 Redux总结 26814.4 测验 26814.5 小结 26914.6 测验答案 269第15章 使用GraphQL处理数据 27115.1 GraphQL 27215.2 给Netflix克隆版应用添加服务器 27315.2.1 在服务器端安装GraphQL 27515.2.2 数据结构 27815.2.3 GraphQL模式 27915.2.4 查询API并将响应保存到数据存储 28115.2.5 显示电影列表 28515.2.6 GraphQL总结 28715.3 测验 28715.4 小结 28815.5 测验答案 288第16章 使用Jest进行单元测试 28916.1 测试的类型 29016.2 为什么使用Jest(对比Mocha) 29016.3 使用Jest进行单元测试 29116.3.1 在Jest中编写单元测试 29316.3.2 Jest断言 29416.4 使用Jest和TestUtils进行React UI测试 29616.4.1 使用TestUtils查找元素 29816.4.2 UI测试密码部件 29916.4.3 浅渲染 30316.5 TestUtils总结 30516.6 测验 30516.7 小结 30516.8 测验答案 306第17章 在Node中使用React和同构JavaScript 30717.1 为什么在服务器端使用React?什么是同构JavaScript? 30817.1.1 正确的页面索引 30817.1.2 更快的加载速度、更好的性能 30917.1.3 更好的代码可维护性 31017.1.4 在React和Node中使用同构JavaScript 31017.2 在Node上使用React 31217.3 React和Express:在服务器端渲染组件 31417.3.1 在服务器端渲染简单的文本 31517.3.2 渲染HTML页面 31617.4 使用Express和React的同构JavaScript 32217.4.1 项目目录结构和配置 32417.4.2 启动服务器 32517.4.3 使用Handlebars的服务器端布局模板 32917.4.4 在服务器上编写React组件 33217.4.5 客户端React代码 33317.4.6 配置Webpack 33417.4.7 运行应用 33617.5 测验 34017.6 小结 34017.7 测验答案 340第18章 使用ReactRouter创建一个网上书店 34118.1 项目结构和Webpack配置 34318.2 HTML主页 34618.3 创建组件 34718.3.1 主文件:app.jsx 34718.3.2 Cart组件 35318.3.3 Checkout组件 35518.3.4 Modal组件 35618.3.5 Product组件 35718.4 启动项目 35918.5 测验 35918.6 小结 359第19章 使用Jest测试密码 36119.1 项目结构和Webpack配置 36219.2 HTML主页 36519.3 实现强密码模块 36619.3.1 测试 36619.3.2 代码 36719.4 实现Password组件 36919.4.1 测试 36919.4.2 代码 37019.5 实践 37519.6 测验 37619.7 小结 377第20章 使用Jest、Express和MongoDB实现自动完成 37920.1 项目结构和Webpack配置 38120.2 实现Web服务器 38520.2.1 定义RESTful API 38620.2.2 在服务器端渲染React 38720.3 添加浏览器脚本 38720.4 创建服务器端模板 38820.5 实现Autocomplete组件 38920.5.1 Autocomplete组件的测试 38920.5.2 Autocomplete组件的代码 39020.6 整合 39320.7 测验 39520.8 小结 396附录A 安装本书相关应用 397附录B React速查表 405附录C Express速查表 413附录D MongoDB和Mongoose速查表 419附录E ES6简介 上一篇: Web前端技术丛书 Ionic 移动开发入门与实战 第2版 秦超,李一鸣 著 2018年版 下一篇: 云计算与虚拟化技术丛书 深入浅出Serverless:技术原理与应用实践 陈耿 著 2019年版