欢迎光临
免费的PDF电子书下载网站

React进阶之路 PDF下载

编辑推荐

《React进阶之路》的特点是内容全、知识新、实战性强。内容全:本书不仅详细介绍了React的使用,还详细介绍了React技术栈中*常用的其他相关技术:React Router、Redux和MobX。知识新:本书介绍的知识点都是基于各个框架、类库当前的*版本,尤其是涵盖React 16 的新特性和React Router 4的介绍。对于新版本已经不再支持或建议废弃的特性,本书不会再介绍,确保读者所学知识的时效性。实战性强:《React进阶之路》配有大量示例代码,保证读者学以致用。实战篇使用的简易BBS项目示例接近真实项目场景,但又有所简化,让读者既可以真正理解和领会相关技术在真实项目中的使用方式,又不会因为示例项目过于复杂而影响学习。 ;

内容简介

《React进阶之路》详细介绍了React技术栈涉及的主要技术。本书分为基础篇、进阶篇和实战篇三部分。基础篇主要介绍React的基本用法,包括React 16的新特性;进阶篇深入讲解组件state、虚拟DOM、高阶组件等React中的重要概念,同时对初学者容易困惑的知识点做了介绍;实战篇介绍React Router、Redux和MobX 3个React技术栈的重要成员,并通过实战项目讲解这些技术如何和React结合使用。 《React进阶之路》示例丰富、注重实战,适用于从零开始学习React的初学者,或者已经有一些React使用经验,但希望更加全面、深入理解React技术栈的开发人员。阅读本书,需要先掌握基础的前端开发知识。

作者简介

徐  ;超毕业于浙江大学,硕士,资深前端工程师,长期就职于能源物联网公司远景智能。8年软件开发经验,熟悉大前端技术,拥有丰富的Web前端和移动端开发经验,尤其对React技术栈和移动Hybrid开发技术有深入的理解和实践经验。

React进阶之路 PDF下载

目录

目 ; ; ; 录

第1篇 ; 基础篇——React,一种革命性的UI开发理念

第1章 ; 初识React ; ; ; ; ; ; 3

1.1 ;React简介 ; ; ; ; 3

1.2 ;ES 6语法简介 ; ; ; ; ; ; ; ; 4

1.3 ; 开发环境及工具介绍 ; ; 9

1.3.1 ;基础环境 ; ; ; 9

1.3.2 ;辅助工具 ; ; ; 9

1.3.3 ;Create React App ; ; ; ; ; ; ; 10

1.4 ; 本章小结 ; ; ; ; ; ; ; 12

第2章 ; React基础 ; ; ; ; ; ; 13

2.1 ; JSX ; 13

2.1.1 ;JSX简介 ; ; ; ; ; ; 13

2.1.2 ;JSX语法 ; ; ; ; ; ; 14

2.1.3 ;JSX不是必需的 ; 16

2.2 ; 组件 ; ; ; ; ; ; ; 17

2.2.1 ;组件定义 ; ; ; 17

2.2.2 ;组件的props ; ; ; ; ; ; 18

2.2.3 ;组件的state ;      21

2.2.4 有状态组件和无状态组件         23

2.2.5 属性校验和默认属性         26

2.2.6 组件样式    28

2.2.7 组件和元素         32

2.3  组件的生命周期   34

2.3.1 挂载阶段    34

2.3.2 更新阶段    35

2.3.3 卸载阶段    36

2.4  列表和Keys   36

2.5  事件处理        39

2.6  表单        43

2.6.1 受控组件    44

2.6.2 非受控组件         51

2.7  本章小结        52

第3章  React 16新特性      53

3.1 render新的返回类型    53

3.2  错误处理        54

3.3 Portals    56

3.4  自定义DOM属性 57

3.5  本章小结        58

第2篇  进阶篇——用好React,你必须要知道的那些事

第4章  深入理解组件          60

4.1  组件state      60

4.1.1 设计合适的state       60

4.1.2 正确修改state   63

4.1.3 state与不可变对象   64

4.2  组件与服务器通信        66

4.2.1 组件挂载阶段通信    66

4.2.2 组件更新阶段通信    67

4.3  组件通信        68

4.3.1 父子组件通信    68

4.3.2 兄弟组件通信    71

4.3.3 Context        75

4.3.4 延伸    78

4.4  特殊的ref      79

4.4.1 在DOM元素上使用ref     79

4.4.2 在组件上使用ref       79

4.4.3 父组件访问子组件的DOM节点      81

4.5  本章小结        82

第5章  虚拟DOM和性能优化  83

5.1  虚拟DOM      83

5.2 Diff算法          84

5.3  性能优化        87

5.4  性能检测工具        90

5.5  本章小结        91

第6章  高阶组件          92

6.1  基本概念        92

6.2  使用场景        93

6.3  参数传递        96

6.4  继承方式实现高阶组件        99

6.5  注意事项        99

6.6  本章小结        101

第3篇  实战篇——在大型Web应用中使用React

第7章  路由:用ReactRouter开发单页面应用      103

7.1  基本用法        103

7.1.1 单页面应用和前端路由    103

7.1.2 React Router 的安装          104

7.1.3 路由器         104

7.1.4 路由配置    105

7.1.5 链接    107

7.2  项目实战        108

7.2.1 后台服务API介绍     108

7.2.2 路由设计    111

7.2.3 登录页         113

7.2.4 帖子列表页         117

7.2.5 帖子详情页         125

7.3  代码分片        133

7.4  本章小结        138

第8章  Redux:可预测的状态管理机       139

8.1  简介        139

8.1.1 基本概念    139

8.1.2 三大原则    141

8.2  主要组成        141

8.2.1 action  141

8.2.2 reducer        142

8.2.3 store    146

8.3  在React中使用Redux 148

8.3.1 安装react-redux         148

8.3.2 展示组件和容器组件         148

8.3.3 connect        149

8.3.4 mapStateToProps        150

8.3.5 mapDispatchToProps  150

8.3.6 Provider 组件     151

8.4  中间件与异步操作        152

8.4.1 中间件         152

8.4.2 异步操作    154

8.5  本章小结        155

第9章  Redux项目实战      156

9.1  组织项目结构        156

9.2  设计state      161

9.2.1 错误1:以API作为设计state的依据    161

9.2.2 错误2:以页面UI为设计state的依据 164

9.2.3 合理设计state   165

9.3  设计模块        170

9.3.1 app模块      170

9.3.2 auth模块    171

9.3.3 posts模块  173

9.3.4 comments模块  177

9.3.5 users模块  179

9.3.6 ui模块         180

9.6.7 index模块   181

9.4  连接Redux     182

9.4.1 注入state   182

9.4.2 注入action creators   184

9.4.3 connect连接PostList和Redux 185

9.5 Redux调试工具     187

9.6  性能优化        188

9.6.1 React Router引起的组件重复渲染问题  188

9.6.2 Immutable.JS       193

9.6.3 Reselect       198

9.7  本章小结        199

第10章  MobX:简单可扩展的状态管理解决方案 200

10.1 简介      200

10.2 主要组成      204

10.2.1 state 204

10.2.2 computed value         211

10.2.3 reaction     212

10.2.4 action         215

10.3 MobX响应的常见误区        216

10.4 在React中使用MobX         220

10.5 本章小结      221

第11章  MobX项目实战     222

11.1 组织项目结构      222

11.2 设计store    223

11.3 视图层重构 234

11.4 MobX调试工具   236

11.5 优化建议      238

11.6 Redux与MobX比较   241

11.7 本章小结      242

媒体评论

推 荐 序小时候,老师问大家长大的理想是什么。我记得曾自豪地说——工程师。后来,真的走进了计算机领域,成为一名软件工程师。在学校里学的都是基础课,记忆犹新的有计算机原理、操作系统、编译原理、数据结构和算法等,感觉是终身受益,就像练武功,都要练好弓、马、仆、虚、歇5种基本步型一样。 那时并没有前端的说法。人机界面开始主要以程序员使用为主,通过黑洞洞的Terminal来编程,程序员还乐此不疲。后来出现了*波突破——各种图形界面,PC变得亲民。而以iPhone带领的移动终端的第二波革新让用户能够通过触摸、视觉和声音真正自然地与设备交互。将来必然拥有超越触摸、视觉和声音识别的技术,属于传感器和物联网的时代。这种技术使用传感器和人工智能识别身体运动、温度变化和其他环境要素,并据此做出回应,使得设备看起来可以读懂内心的想法一样。在不久的将来,一个传感器阵列能够提供高度的情境感知,并且协同工作,收集和处理关于周边环境的信息,通过人工智能预测需求并做出完全个性化的安排。前端工程师的使命也随着人机交互的显著进步而不断拓展。 时光回到刚工作时的2000年,正值互联网的发展初期,作为一名软件工程师,解决问题就是关键,对于前后端编程都需要熟悉。当时,前端编程的核心技能有HTML、CSS、JavaScript, 对于习惯逻辑思维的工程师,学起来并不算难。随着互联网的发展,特别是2010年后,移动设备成为主流,前端工程师角色被行业认可,并且越来越重要,涵盖多终端的视觉和交互的实现,面对的是软件工程的一个持久的挑战——人机交互。首先,人机交互是软件产品里变化*频繁的部分,同时是非常关键的一环。其次,兼容各种浏览器、Web的标准,以及适配多种终端,都是很大的挑战。另外,前端领域的技术发展也越来越快,各种新的思想、设计模式、工具和平台不断出现,怎样快速学习、在不同场景下做出恰当的选择是成为一位优秀前端工程师必备的素质。许多人机交互问题有非常巧妙的思路和精彩的解决办法。不得不说,前端工程师在工程师群体里属于非常有创造力、想象力的一群人。 前端领域各种新技术、新思想不断涌现,AngularJS、React、Vue.js、Node.js、ES 6、ES 7、CoffeeScript、TypeScript,令人眼花缭乱。对于许多开发者,估计还没学明白一样技术,就发现其已被另一些新的技术取代而“过时”了。但是,如果退一步来看,前端的基本功仍然是HTML、CSS、JavaScript,还有算法、数据结构、编译原理。这一点,有点像《笑傲江湖》里,令狐冲一旦领悟了独孤九剑,永远能够无招胜有招。 除了具备扎实的基本功之外,一个优秀的前端工程师必须要有自己擅长的领域,并且钻研得足够深入,只有花时间学习成体系的知识才能从中总结出规律并形成方法论,从而*化学习的价值。同时要有广泛的视野,不能局限于前端本身,因为有很多东西只有站在前端之外才能看得更清晰、更透彻。例如,React集成了许多后端的优秀理念,包括采用声明范式轻松描述应用、通过抽象DOM来达到高效的编程。围绕React还出现了许多工具和框架,形成了React生态。React逐渐从*早的UI引擎变成了前后通吃的Web App解决方案,衍生出来的React Native又实现了用Web App的方式去写Native App。这样,同一组人写一次UI就能运行在浏览器、移动终端和服务器上。作为智能物联网先锋的远景智能,一直崇尚工程师文化和工匠精神,非常强调基本功、专业深度以及跨界创新。前端团队徐超写的《React进阶之路》,内容由浅入深,再结合实战,很像我读大一时的Java 101课程的教材,对于需要学习React的读者是一部非常好的参考书。读这本书,*好的方法是领悟其精髓,掌握软件设计之路,灵活使用以解决问题。工程师不能因为太细的学科限制了自己的思维,也不能像大公司一个工作一个螺丝钉,在很窄的领域里重复劳动。工程师天生是发现问题、解决问题、优化问题的。达•芬奇、特斯拉之所以是完美的工程师,因为他们会掌握各种学科,融合并创新,在解决问题的同时开创先河。未来的信息化世界就是要不断地聪明学习,融合各种学科,通过实践解决问题,奇思妙想地创造技术的进步。计算机的不同语言、不同技术和算法就好比一堆便宜或者昂贵的工具(如锥子和刨子),其实这些都不重要,因为大家都忽略了,做出漂亮器具的是那个工匠,而不是工具。脑子里的经验积累、天赋、执着与认真的态度、不停尝试、追求完美的态度,加起来才能创造好的作品与产品。计算机语言就像赛车场上的跑车,换了车队和跑车,舒马赫还是F1车神,观众还是会为其欢呼雀跃,正因为车神掌握了与跑车和赛道的沟通之道!

远景智能技术副总裁、前阿里巴巴集团淘宝CTO余海峰

前沿

前    言

当今,前端应用需要解决的业务场景正变得越来越复杂,这也直接推动了前端技术的迅速发展,各种框架和类库日新月异、层出不穷。面对众多的框架和类库,前端开发者可能感到眼花缭乱,但换一个角度来看,这未尝不是一种百家争鸣的现象。不同框架和类库的设计思想和设计理念各有千秋,解决的问题也有所不同,这些多元化和差异化不断推动前端技术的发展,同时也是前端技术领域的一份思想瑰宝。

React作为当今众多新技术的一个代表,由Facebook开源,致力于解决复杂视图层的开发问题,它提出一种全新的UI组件的开发理念,降低了视图层的开发复杂度,提高了视图层的开发效率,让页面开发变得简单、高效、可控。此外,React不仅是单一的类库,更是一个技术栈生态,可以和生态中的Redux、MobX等其他技术结合使用,构建可扩展、易维护、高性能的大型Web应用。

本书内容

本书涵盖React技术栈中的主要技术,内容由浅到深。本书内容分为基础篇、进阶篇和实战篇,每一篇内容又分成若干章节来介绍。

基础篇,介绍了React的基本概念,包括React的开发环境和开发工具、React的基本用法和React 16的新特性。每个知识点都有配套的项目示例。

进阶篇,深入介绍了React的几个重要概念,如组件state、虚拟DOM、高阶组件等,此外,还针对初学者使用React时容易产生困惑的知识点做了专门讲解,如组件与服务器通信、组件之间通信、组件的ref属性等。

实战篇,介绍了React技术栈中最重要的三个技术:React Router、Redux和MobX,每一个技术都配有详细的项目实战示例。

本书章节的难度逐步递增,各章节的知识存在依赖关系,所以读者需按照章节顺序阅读本书,不要随意跳跃章节,尤其是在阅读实战篇时,务必保证已经掌握了基础篇和进阶篇的内容,否则,阅读实战篇可能会有些吃力。

本书特点

本书的特点是内容全、知识新、实战性强。

内容全:本书不仅详细介绍了React的使用,还详细介绍了React技术栈中最常用的其他相关技术:React Router、Redux和MobX。

知识新:本书介绍的知识点都是基于各个框架、类库当前的最新版本,尤其是涵盖React 16 的新特性和React Router 4的介绍。对于新版本已经不再支持或建议废弃的特性,本书不会再介绍,确保读者所学知识的时效性。

实战性强:本书配有大量示例代码,保证读者学以致用。实战篇使用的简易BBS项目示例接近真实项目场景,但又有所简化,让读者既可以真正理解和领会相关技术在真实项目中的使用方式,又不会因为示例项目过于复杂而影响学习。

本书目标读者

本书面向希望从零开始学习React的初学者,或者已经有一些React使用经验,希望更加全面、深入理解React技术栈的开发人员。

本书中默认的开发环境是Node.js v8.4.0,书中介绍到的几个主要库的版本分别为React 16.1.1、React Router 4.2.2、Redux 3.7.2 及 MobX 3.3.1。

致谢

本书的完成离不开在各个方面给过我支持和帮助的人,请允许我在这里向他们表示感谢。

首先,感谢公司的领导余海峰(Colin)和贺鸣(Sky)对我写书的支持。Colin在百忙之中还抽出时间为本书作序。

其次,感谢我的同事王博、陈小梦、吴福城、詹敏和朱雅琴,他们给本书提出了很多宝贵的意见。

还要感谢我的老婆,2017年,她的新书《时间的格局:让每一分钟为未来增值》出版,这也让我产生了写书的念头,同时她的写书经验也给了我很多帮助。

最后,感谢清华大学出版社的王金柱老师,正是缘于他的主动联系,才让我写书的念头变成了行动。他认真、负责的工作态度也保证了本书的顺利问世。

 

徐  超       

2018年1月1日于上海

React进阶之路 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:React进阶之路