本书是一本专门介绍React前端框架基本原理及其相关工程实践的技术参考书。全书共分为13章,主要讲解React技术基本原理、相关前端开发工具链、React高级技术以及React热门资源介绍四个部分的内容。全书结构完整、层次清晰,以浅显易懂的语言描述了React前端技术的原理、相关工具链的使用、React技术在工程中的实际应用方案等。本书着重于本质理解,在讲解技术应用的同时也介绍相关的原理和理念帮助读者更深入地理解和掌握React技术并能尽快地投入实际应用,同时本书也尽可能全地囊括当前JavaScript前端工程开发的相关技术与工具,通过本书可以全面地掌握React相关知识并直接用于工程开发实践。
本书作者长期从事信息技术和信息系统的研发工作,并拥有多年的教学经验。本书内容全面,编排合理,论述清晰,是一本介绍React技术的理想教材。本书适用于那些对前端开发有一定了解和开发经验的读者。可作为工具书使用。
前言
随随着AJAX技术、Chrome JavaScript V8引擎的出现,以及移动端的兴起,前端发生了天翻地覆的变化。传统的JavaScript知识体系即将过时。前端正以全新的思路和革新的理念得到越来越多的重视和关注,涌现出了众多技术,如Node.js、NPM、CommonJS、AMD、ES 6、Webpack、Babel、React、AngularJS等。众多新技术的冲击让人无所适从,而且,往往一个技术会附带一系列相关的技术和工具,更是让人难以下手。
React技术的更新发展也很快,相关的资料在网上虽然能查到,但往往只是针对一个特定技术点,语焉不详;或者使用了最新语法,读者难以理解;又或者文档与软件版本不匹配,导致在模块安装时出现莫名提示、运行错误等问题。
有感于此,编者编著了本书,针对这些痛点,力图以React技术为抓手,整体介绍与当前前端相关的主流技术体系与使用途径,为读者找到一条技术的主干脉络,方便读者全面快速地深入学习以React为代表的前沿前端技术。为使读者降低学习成本,并很快地投入到工程实践中,本书还介绍了前端开发环境搭建和相关工具链的使用,力图为读者呈现前端开发的全貌。另外,本书在逐层深入介绍React技术的同时,还少量地讲解了底层技术原理,方便读者深入理解。
本书内容
本书分四部分,第一部分讲解React的基本原理和架构。考虑到相关辅助工具对知识的干扰,此部分排除外围技术干扰,以最朴素、最原始的方式来看React的本质和原理,同时针对实际应用场景介绍了典型组件的开发思路及代码。第二部分讲解React相关工具链的原理和使用方法,切入面向工程化开发的前端开发技术体系,介绍相关工具的使用方法,并重点介绍与React相关的使用流程。第三部分讲解React的高级功能,如测试、路由等,是应对复杂界面的完整解决方案不可或缺的重要组成部分。第四部分介绍当前React的热门技术和相关资源。
源代码
本书的主要实例均附有源代码,源代码以实例包的形式发布在网上,读者可以自行下载。实例包中提供了Node.js的安装程序和运行说明文件。书中所提到的实例名对应网上同名文件夹。实例包根目录下的“使用说明.txt”文件说明了要运行的前提条件和实施步骤。
本书特点
·新。本书中的JavaScript使用ES 6语法,React针对v15.0.0以上版本,JSX使用Babel 6.x版本等,确保读者掌握最前沿的知识和技能。
·透。本书不是简单地介绍知识,而是透过知识来看本质的理念和原理,只有这样才能把技术吃透、用活。
·全。本书力图将React相关的技术体系集中在一起,包括React相关工具使用、React实用技巧、React高级框架等,使读者全面掌握React,减少时间成本,提高知识获取效率。
·实。本书的讲解和实例尽量向实际使用场景靠拢,所涉及的复杂组件实例 (树形组件、分页组件、表格组件等)均可直接用于实际开发环境,且配有详细的解说,读者可以快速上手。
适用范围
(1)适用于从事前端技术开发且有一定JavaScript基础的初学者。
(2)适用于从事网站前端设计与制作的开发者。
(3)可作为相关培训机构的专题培训教材。
(4)可作为相关开发者的工具书。
本书约定
(1)在面向对象的语言中,成员函数也称为方法,本书统一称为“成员函数”或简称为“函数”。
(2)代码都具有阴影背景,以示区别。
(3)代码中要重点强调、提醒的部分使用粗体格式。
关于我们
参与本书编写的人员还包括韩岗、刘兰峥、胡松奇、刘彦君。尽管我们已经做了仔细校对,但书中疏漏和不足之处在所难免,如果在书中发现任何的文字和代码错误,非常欢迎读者朋友反馈给我们。如果您有好的建议、意见,或遇到与本书内容相关的疑难问题,都可以联系我们,我们会及时为您解答。服务邮箱:ljhiiii@ sina.com。
代码不全,太不负责了
感觉这个代码并不全啊
我在京东上买的,在哪可以下载到源码呢。。