一部颠覆前端历史的框架。
React的横空出世颠覆了以往的前端开发方式,本书深入浅出React与Redux相关原理,重点讲解前沿同构技术,揭秘SSR实战要领!
两位知名技术博主的沉淀。
本书的两位作者都是前端圈内非常活跃的技术博主,拥有丰富的实战经验,经历近十年的沉淀,将鲜活的经验通过本书分享给各位读者!
众多圈内技术大咖的力荐。
百度公司副总裁沈抖、百度公司资深前端工程师董睿、前端圈知名技术专家阮一峰、狼叔、迷渡(justjavac)、小爝、顾轶灵联合力荐!
React自开源以来,便以革命性的设计理念迅速颠覆了前端开发的传统意义,其倡导的组件化、状态管理、虚拟DOM等思想极大提高了前端开发效率。为了更加高效地维护React应用的数据状态,以Redux为代表的数据管理模式横空出世。
本书以React技术栈为核心,在介绍React用法的基础上,从源码层面分析了Redux思想,同时着重介绍了服务端渲染和同构应用的架构模式。书中包含许多项目实例,不仅为用户打开了React技术栈的大门,更能提升读者对前沿领域的整体认知。本书主要适合具有一定JavaScript基础的前端工程师,以及对前端开发感兴趣的相关从业人员阅读。
第1章 React与前端 1
1.1 前端简史 1
1.2 React是什么 3
1.3 React家族 4
1.4 本章小结 7
第2章 深入浅出React 8
2.1 组件 8
2.2 组件与系统 11
2.3 神奇的JSX 12
2.4 组件的生命周期 14
2.5 组件的属性和状态 17
2.6 组件和事件 22
2.7 组件通信 24
2.8 组件的抽象与复用 32
2.9 命令式与DOM 38
2.10 本章小结 41
第3章 Redux应用架构基础 42
3.1 Redux究竟是什么 42
3.2 Redux设计哲学 44
3.3 函数式编程和纯函数 48
3.4 Redux基本使用和实践 51
3.5 Redux开发基础实例 58
3.6 reducer编写关键:不可变性 62
3.7 Redux中间件和异步 73
3.8 Redux与React 78
3.9 实现计数器的四种方式 85
3.10 完成一个工程化实例 98
3.11 本章小结 113
第4章 深入理解Redux 114
4.1 Redux源码探索——store的实现 114
4.2 Redux源码探索——combineReducers的实现 118
4.3 dispatch的改造——实现记录日志 121
4.4 dispatch的改造——识别Promise 124
4.5 糅合多种dispatch 126
4.6 Redux源码探索——中间件的秘密 131
4.7 再谈Redux设计思想 136
4.8 react-redux究竟是什么 142
4.9 本章小结 145
第5章 揭秘React同构应用 146
5.1 前后端架构设计和服务端渲染概念 146
5.2 同构应用 150
5.3 使用React和Redux实现同构应用 152
5.4 React 16在服务端渲染上的惊喜 157
5.5 同构项目实战:基于Node.js的“渐进式”流渲染 158
5.6 Next.js设计理念和使用 168
5.7 使用Next.js实现同构应用 172
5.8 本章小结 173
第6章 深入理解React技术内幕与生态社区 184
6.1 React组件的组合和复用——高阶组件 184
6.2 高阶组件和render prop 193
6.3 React组件的组合和复用——Function as Child Component 198
6.4 React组件的组合和复用——Children API 203
6.5 React“轮子”是怎样设计的 209
6.6 setState异步带来的讨论和思考 216
6.7 React组件和React element到底是什么 221
6.8 实现一个简易的React库 227
6.9 引入Redux的必要性及利弊 239
6.10 如何设计并应用Redux connect 243
6.11 使用selector实现最佳实践 248
6.12 Redux store数据结构扁平化及在Twitter中的实践 255
6.13 React state和Redux state的选取原则 266
6.14 本章小结 267
第7章 单页面应用代码分割 269
7.1 React和代码分割 269
7.2 Redux reducer层面代码分割 278
7.3 代码分割工程实例 283
7.4 本章小结 288
第8章 React应用性能优化 289
8.1 React应用性能的秘密 289
8.2 提升React应用性能的建议 295
8.3 使用PureComponent保证开发性能 302
8.4 Redux中间件和Web Worker 308
8.5 本章小结 311
世界的数字化进程正在加速,我们也进入了体验至上的新移动时代。在连接人和信息世界的所有技术中,前端开发作为直接影响用户体验的关键一环,正在迅速发展和变革,前端工程师也成为产品研发团队里非常关键的拼图之一,决定了产品迭代的成败。本书以React为中心,在讲解相关技术栈的同时,深刻剖析了隐藏在其后的编程思想,希望更多的开发者能够以这本书为起点,深入把握前端开发技术,活学活用,打造较好的用户体验,为新移动时代创造更多优秀的产品。
——百度公司副总裁,沈抖
本书针对React进行了专题研究,其中还包含Redux用法的详细介绍、源码解读、中间件的实现原理,以及前后端同构的解决方案(即服务器渲染)等内容,非常适合初学者进阶学习React的相关知识,掌握实战技能。建议各位读者按照源码上机练习,以达到更好的学习效果。
——资深JavaScript语言专家、知名技术博客作者,阮一峰
很高兴能够看到这本书,它系统讲解了Redux和同构技术,是一本在垂直领域中非常优秀的专业书籍,从入门到组件通信,再到源码,都给出了非常详细的解读。本书简明扼要,重视实践,尤其适合初学者。学会Redux可以让你在前端开发中更加游刃有余,同构开发对于拓宽前端开发领域也有着极其重要的意义,建议大家深入学习。
——Node.js布道者、Cnode社区管理员,狼叔(i5ting)
React以及Redux是目前非常流行的技术栈,本书深入React技术,涉及React的方方面面内容,从入门到高阶实例,从状态管理到同构应用技巧,无论是在技术实现原理上,还是在实战经验上,都能帮助读者对React形成全貌理解。无论你是React新手还是资深工程师,相信都能从本书中获得启发。
——新浪移动前端技术专家,付强(小爝)
本书由浅入深,从React涉及的基本概念开始不断延伸,不仅分场景覆盖了以React、Redux、Next.js等为核心的组件化开发流程及工程优化策略,还深入源码解读了技术细节,并通过对设计思路的阐述来帮助读者增强系统性的理解和认知。相信本书可以帮助广大开发者更好地掌握React体系的精髓,创造出体验更佳的产品。
——百度资深前端工程师、知乎知名博主,顾轶灵