前言
React框架的发展历史最早可以追溯到2011年。当时在Facebook工作的软件工程师Jordan Walke受到XHP(一个PHP的HTML组件库)的影响,发布了一个名为FaxJS的React早期原型,并首次应用在Facebook的新闻信息流项目上。随后Facebook在Instagram项目中也大量使用FaxJS,项目的开发效率、性能都得到了极大的提升。
2013年5月,在JSConf US 2013大会上,Jordan Walke正式公开了FaxJS的改进版本,并将其命名为React,同时开源了其核心代码。这一发布颠覆了当
时“以jQuery为核心的DOM操作模式”,提出了“虚拟DOM”“声明式编程”等创新理念,引发前端社区广泛关注。当年10月,React发布了0.3.0版本,该版本首次支持JSX语法,也成为React框架的标志性特性之一。随后在2015年2月,Facebook的React Conf大会上发布了基于React的跨平台框架React Native,首次实现了“一份代码运行于iOS/Android”,从而拓展了React框架的应用边界。
在经过近四年的不断迭代和优化后,2015年4月,React发布了首个正式版本15.0.0。该版本带来了诸多的新特性和改进,如重构了底层DOM渲染逻辑、支持错误边界等。伴随着状态管理、路由、构建工具等生态系统工具的快速完善,Netflix、Airbnb、Uber、阿里巴巴等互联网巨头相继采用React开发核心业务,推动了React快速成为前端开发的主流框架。2017年9月,React发布16.0.0版本,这是React历史上最重大的架构重构。在这个版本中,React引入了全新的Fiber架构,Fiber架构将“同步渲染”改为“可中断的异步渲染”,解决了大型应用渲染卡顿的问题,Fiber也成为React未来改进和功能开发的基础。随着React生态的不断完善,React框架也不断走向成熟。
2018年2月,React发布了16.8.0版本,正式引入Hooks(如useState、useEffect、useContext)。Hooks彻底解决了类组件的this绑定混乱、生命周期管理痛点等问题。随着Hooks的不断完善,Hooks彻底地改变了React的开发模式,并且函数组件也成为前端开发的主流,并逐步扩展到诸如Angular、Vue.js等前端框架中。
2022年3月,React发布了18.0.0版本,此版本的核心特性是并发渲染。通过引入createRoot新根节点API替代传统的ReactDOM.render,开启了React框架的异步渲染能力。同时,React提供的自动批处理允许将多次状态合并更新为一次渲染,提升了渲染的效率和性能。近年来,随着元框架的崛起,React开始聚焦全栈生态,特别是随着Next.js、Remix等元框架的出现,进一步降低了生产级应用的开发成本。展望未来,React还将持续提供更强大的工具链、更广泛的应用场景支持和持续的性能优化,为开发者提供高效、灵活的工具,努力推动前端应用的创新与进步。
作者本身是从事移动客户端开发的,有着多年的移动架构和开发经验。不过随着大前端理念的出现,移动客户端和前端开发的边界越来越模糊,很多从事前端开发的开发者使用前端技术开发移动客户端,亦有很多从事客户端开发的开发者转岗到前端开发,他们的工作也相互补充和相互支持。作者大概是在2016年通过React Native跨平台开发技术了解到React框架,作为React技术的分支和衍生,React Native开发大量使用了React的相关技术。在随后的工作中,作者又陆续参与了多个React前端项目的开发工作,对React框架也有了较为深刻的认识。
本书以一个资深前端架构师的视角,通俗易懂地介绍React框架的基础语法和进阶知识以及React技术生态的各个细节,并提供了丰富的项目示例,目的是帮助读者边学边练,快速且扎实地掌握React框架的各种基础知识。本书使用TypeScript语言进行编写。TypeScript可以有效降低JavaScript在编译方面的缺陷,编程的方式也更加现代化,因此目前大多数的前端Vue.js项目都使用TypeScript语言进行开发。
作为一本实战类型的图书,本书主要围绕实战这一主题进行编写,并采用“案例诠释理论内涵、项目推动实践创新”的编写思路,既讲解项目的实现过程和步骤,又讲解项目实现所需的理论知识和技术,让读者在掌握基础理论知识后会再应用到项目中。相信读者在阅读本书后,能够快速地投入商业级项目的开发中。
本书共分为15章,由入门与基础、开发进阶和项目实战三部分构成,入门与基础部分主要讲解TypeScript语言基础和React框架基础知识,开发进阶部分则围绕React框架的技术生态和常见的UI框架进行讲解,项目实战部分由两个实战项目、项目性能优化和项目打包发布构成。
入门与基础(第1章~第4章)
这部分内容主要有前端基础、TypeScript基础、开发环境搭建、React Hook和组件基础等。这部分内容是前端开发的基础,也是学习React框架开发必须掌握的基础内容。
开发进阶(第5章~第11章)
这部分内容主要有事件监听与处理、React动画、路由导航与管理、网络请求、状态管理、Ant Design UI框架和Vite工程化构建工具等。这部分内容是React框架开发的进阶知识,专业性更强。这部分内容属于React生态的重要组成部分,是React工程化开发需要掌握的基础知识。
项目实战(第12章~第15章)
这部分内容主要有React项目实战、应用性能分析与优化以及应用打包发布等,是对React基础知识的综合运用,也是对前面基础知识的全面总结。此部分内容以项目实战为主,通过此部分内容的学习,读者将具备独立开发上架React商业项目的能力。
最后,感谢支持我的家人、朋友和同事; 感谢清华大学出版社编辑的辛勤付出,使本书能够顺利出版; 感谢读者的耐心,希望本书可以带给您预期的收获。限于本人水平,书中疏漏之处在所难免,敬请广大读者批评指正。
作者
2026年4月
