REACT开发实战 使用REACT以组合方式构建复杂的前端应用程序
出版时间: 2017年版
内容简介
《React开发实战 介绍如何成功构建日益复杂的前端应用程序与接口,深入分析React库,并详述React生态系统中的其他工具与库,从而指导你创建完整的复杂应用程序。你将全面学习React的用法以及React生态系统中的其他工具和库(如React Router和Flux架构),并了解采用组合方式创建接口的*实践。本书简明扼要地讲解每个主题,并呈现助你高效完成工作的细节。书中严谨深刻地讲述React中*重要的功能,每章还详细列出常见的开发问题,并解释如何避免它们。如果你拥有使用jQuery或其他JavaScript框架创建前端应用程序的经验,但想解决复杂前端应用程序构建过程中日益增多的常见问题,那么本书就是为你准备的。开始像专家那样去使用React吧,今天就把这本书收入囊中!主要内容◆ 如何创建可组合的用户界面◆ 理解React的虚拟DOM架构以及如何利用该架构开发应用程序◆ 了解各项功能的原理及重要性◆ 深入学习React以及React生态系统中重要的第三方库◆ 学习如何创建通用/同构应用程序从而改进用户体验和SEO◆ 深刻理解复杂应用程序中的数据流策略◆ 学习如何测试、完善和部署React项目
目录
第1章 React入门 11.1 开始学习之前 11.1.1 Node.js和npm 11.1.2 JavaScript ES6 21.2 定义React 21.3 React的优点 21.3.1 简单易学的响应式渲染 31.3.2 使用纯JavaScript进行面向组件开发 31.3.3 灵活的文档模型抽象表现 41.4 创建你的第一个React应用程序 41.4.1 React开发流程 41.4.2 创建你的第一个组件 81.4.3 减少输入的字符数量 91.4.4 动态值 101.5 将组件组合起来 101.5.1 props 101.5.2 呈现看板应用 111.5.3 定义组件的层次关系 131.5.4 props的重要性 141.5.5 创建组件 141.6 介绍state 211.7 本章小结 23第2章 深入DOM抽象 252.1 React中的事件 252.1.1 DOM事件侦听器 252.1.2 看板应用:管理DOM事件 262.2 深入了解JSX 27 2.2.1 JSX与HTML 282.2.2 JSX和HTML的不同之处 282.2.3 JSX的怪异之处 292.3 看板应用:指示卡片的打开和关闭状态 312.3.1 空格 322.3.2 JSX中的注释 332.3.3 渲染动态HTML 332.3.4 看板应用:渲染Markdown 332.4 脱离JSX的React 362.4.1 普通JavaScript中的React元素 362.4.2 元素工厂 362.4.3 自定义工厂 372.5 内联样式 372.5.1 定义内联样式 372.5.2 看板应用:通过内联样式定义卡片颜色 382.6 使用表单 402.6.1 受控组件 402.6.2 特例 422.6.3 非受控组件 432.6.4 看板应用:创建一个任务表单 442.7 幕后的虚拟DOM 442.7.1 key属性 452.7.2 看板应用:key 452.7.3 refs 472.8 本章小结 48第3章 使用组件构建应用程序 493.1 校验属性 493.1.1 属性的默认值 503.1.2 内置的propTypes校验器 513.1.3 为看板应用定义propTypes 523.1.4 自定义propTypes校验器 543.2 组件组合的策略与最佳实践 553.2.1 有状态的组件和单纯组件 553.2.2 哪些组件应当是有状态组件 563.2.3 数据流和组件通信 593.3 组件的生命周期 633.3.1 声明周期的阶段与函数 633.3.2 生命周期函数实践:数据获取 643.4 浅谈不变性 673.4.1 普通JavaScript中的不变性 673.4.2 嵌套对象 693.4.3 React不变性助手 703.5 看板应用:添加一点复杂性 733.5.1 从外部API获取初始的卡片数据 733.5.2 将任务回调以props传递 763.5.3 处理任务数据 803.5.4 基本的乐观更新回滚 833.6 本章小结 87第4章 复杂交互 894.1 React中的动画 894.1.1 CSS过渡和动画基础 894.1.2 ReactCSSTransitionGroup 954.2 拖放 1004.2.1 React DnD实现概述 1014.2.2 React DnD实现示例 1014.3 看板应用:支持动画和拖放 1134.3.1 卡片切换动画 1134.3.2 卡片的拖曳 1154.4 本章小结 129第5章 路由 1315.1 使用原生方式实现路由1315.2 ReactRouter 1355.2.1 Index路由 1385.2.2 带参数的路由 1395.2.3 设置活动链接 1445.2.4 传递props 1445.2.5 将UI界面与URL解耦 1475.2.6 在代码中更改路由 1495.2.7 History库 1525.2.8 看板应用:实现路由功能 1535.3 本章小结 166第6章 结合Flux的React应用程序架构 1676.1 什么是Flux 1676.1.1 Store 1676.1.2 Action 1686.1.3 Dispatcher 1696.2 假想的简单Flux应用程序 1696.3 Flux工具包 1776.3.1 Flux Store工具 1776.3.2 容器组件高阶函数 1806.4 异步Flux 1816.4.1 waitFor:协调Store的更新数序 1816.4.2 异步数据获取 1846.5 AirCheap应用程序 1846.5.1 搭建:项目组织和基本文件 184 6.5.2 创建用于获取机场的API助手和Action创建器 1856.5.3 AirportStore 1886.5.4 应用组件 1896.5.5 完成AirCheap应用程序:加载机票 1946.6 改进异步获取数据的实现2046.7 看板应用:迁移到Flux架构 2076.7.1 重构:创建Flux基本结构并迁移文件 2076.7.2 将数据获取操作迁移到Flux架构 2126.7.3 实现FetchCards Action、API方法调用和Store回调 2136.7.4 将所有卡片和任务Action迁移到Flux架构 2166.7.5 准备功能迁移 2166.7.6 组件 2256.7.7 删除所有组件state 2316.8 本章小结 241第7章 性能调优 2437.1 子级校正过程的工作原理2437.1.1 批处理 2437.1.2 子树渲染 2447.2 React Perf 2447.2.1 性能测试应用 2457.2.2 安装并使用React Perf 2487.3 shouldComponentUpdate 2527.4 本章小结 254第8章 React同构应用 2558.1 Node.js和Express 2558.2 React同构基础 2608.2.1 创建项目结构 2608.2.2 在服务器端渲染React组件 2638.2.3 在客户端中挂载React 2668.3 路由 2708.3.1 配置内部路由 2708.3.2 动态数据获取 2718.3.3 渲染路由 2738.4 本章小结 278第9章 测试React组件 2799.1 Jest2799.2 React测试工具 2819.2.1 渲染用于测试的组件 2819.2.2 遍历并查找子节点 2849.2.3 模拟事件 2859.2.4 浅渲染 2869.3 本章小结 290附录 JavaScript 2015 291