有电书房店铺主页二维码
有电书房
微信扫描二维码,访问我们的微信店铺

流畅的React

115.20
运费: ¥ 5.00-22.00
库存: 300 件
流畅的React 商品图0
流畅的React 商品图1
流畅的React 商品图2
流畅的React 商品缩略图0 流畅的React 商品缩略图1 流畅的React 商品缩略图2

商品详情

书名:流畅的React
书号:978-7-5239-0157-1
定价:128元
作者:[印度]特贾斯·库马尔(Tejas Kumar)
出版时间:2025-08-25
出版社:中国电力出版社
页码: 400    字数(千字):459
开本:16开    版次:1    印次:1


品牌介绍

中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。


编辑推荐

编辑推荐 React通过声明式抽象构建Web应用,为开发者提供卓越的开发体验。本书将帮助你深入理解React的核心概念,包括JSX语法及其高级设计模式、虚拟DOM、React协调机制以及性能优化等关键技术。掌握这些知识后,你将能够更加高效地构建高质量的Web 应用。 本书的作者以通俗易懂的语言讲解React的底层原理,摒弃晦涩难懂的术语,让你更轻松地理解其运行机制。通过剖析React的细节和架构,你将掌握灵活操控React代码的能力,从而达到全新的高度。 专家推荐 “Carl Sagan说,‘你必须先了解过去,才能理解当下。’在本书中,Tejas带领我们回顾了React的前世今生,在我看来,这本书正是Tejas在前端领域对这一理念的完美践行,他带领我们回顾React的发展历程,让读者深入理解其历史脉络。 他细致入微地剖析了协调和Fiber等核心概念。如果你渴望深入理解React及其不断演进的生态,那么这本书绝对不容错过。” ——Matheus Albuquerque Brasil Google Web技术专家


产品特色

构建快速、高效和易用的Web应用。


作者介绍

Tejas Kumar自2014年起开始编写React代码,并在多个会议、研讨会和客座讲座中分享相关知识。他在多家初创企业中积累了丰富的技术经验,并对React的核心概念有着深刻的理解。他热衷于React布道,乐于帮助他人掌握React的开发技巧,赋能他们流畅地构建React应用。


内容介绍

本书的主要内容有:深入理解React的核心原理和工作机制。学会编写高质量的React应用并掌握持续优化的方法。掌握构建高可用、可扩展React应用的关键技巧。灵活运用React高级功能,例如reducers、state和refs等。
本书适用于广大读者


前言

前言 本书并不适用想要学习如何使用React 的读者。如果你对React 还不熟悉,并希望找到一份入门教程,可以从react.dev 上的React 官方文档开始。相反,本书是为那些由好奇心驱使的人而写,他们并不满足于了解如何使用React,而是更想弄清楚React 的工作原理。 在本书中,我们将深入探讨多个React 的核心概念,理解其底层机制,并探索这些机制是如何协同工作的,使我们能够更加高效地开发React 应用。通过探究React 的内部原理,我们将建立一套清晰的思维模型,使我们能够更加准确地理解React 及其生态系统。 本书假设读者已经具备以下基础知识:浏览器渲染网页的基本原理。网页是由CSS 样式化的HTML 文档,并通过JavaScript 实现交互性。此外,本书还假设读者对React 有一定的了解,并且曾经开发过一两个React 应用,最好其中一些应用已经投入生产环境使用。 我们将从React 的概述及其发展历史入手,回顾2013 年它以开源软件的形式首次发布的背景。随后,我们将深入剖析React 的核心概念,包括组件模型、虚拟DOM 和协调(reconciliation)机制。接着,我们会探讨JSX 的编译原理,并深入解析React 的Fiber 架构,理解其并发编程模型。通过这些内容,我们将掌握一些关键技巧,比如更高效地进行记忆化,以及使用诸如React.memo和useTransition 这样的强大原语,延迟渲染不必要的计算任务。 本书的后半部分,我们将深入探讨React 框架:了解它们所要解决的问题,以及它们是如何解决这些问题的。为了更好地理解这些机制。我们将亲手编写一个框架,聚焦于Web 应用绕不开的三个关键问题:服务端渲染、路由和数据获取。当亲手解决了这些问题后,我们会更加直观和透彻地感受现有框架解决它们的思路。此外,我们还将深入研究React 服务端组件(RSC)和服务端操作(server actions),并探讨下一代前端工具链,例如打包工具(bundlers)和同构路由(isomorphic routers)等。 最后,我们将视角从React 拓展到更广阔的前端生态,探讨Vue、Solid、Angular、Qwik 等竞品。我们将重点探索信号(Signal)及其细粒度响应式(fine-grained reactivity),并和React 更粗粒度的响应式模型进行对比。此外,我们还会探讨React 对信号机制的回应:Forget 工具链,以及它在与信号机制对比中的表现。 本书内容丰富,值得深入探究,所以不浪费时间了,让我们开始吧! 本书中的约定 本书采用以下排版约定: 斜体(Italic) 用于表示新术语、网址(URL)、电子邮件地址、文件名和文件扩展名。 等宽字体(Constant width) 用于代码示例,以及在正文中引用的程序元素,例如变量、函数名、数据库名称、数据类型、环境变量、语句和关键字等。 等宽加粗字体和浅灰色文本(Constant width bold and light gray text)仅用于印刷版第10 章,用于在代码块中突出代码差异。 O’Reilly 在线学习平台(O’Reilly Online Learning) 近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。 联系我们 任何有关本书的意见或疑问,请按照以下地址联系出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 本书有专门的网页,其中列出了勘误信息、示例代码及其他相关资料,可以访问以下链接获取更多信息:https://oreil.ly/fluent-react。 对本书中文版的有任何建议可以发电子邮件到errata@oreilly.com.cn。 欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。 我们的Facebook:http://facebook.com/oreilly。 我们的Twitter:http://twitter.com/oreillymedia。 我们的YouTube:https://youtube.com/oreillymedia。 致谢 这是我人生中撰写的第一本书,而我并非孤军奋战,对此我无比感激。你即将阅读的内容,凝聚了许多才华横溢之人的智慧和努力。正是他们的付出,才让这本书得以问世。在此,我衷心感谢他们为本书所做出的贡献。 请不要跳过这一部分,因为这些人值得你的关注和感激。首先,我要感谢直接帮助我完成本书的人: • 首先要感谢我的妻子Lea。写这本书占据了我大量时间,牺牲了本该与家人共度的时光。由于我对这个主题充满热情,并希望将其分享给大家,这本书甚至占用了部分假期和原本可以与妻子相处的机会。然而,Lea 始终给予我无限的支持和鼓励,我对此满怀感激。 • 本书的开发编辑Shira Evans,来自O’Reilly 的Shira 是一位非常棒的合作伙伴,她始终支持、鼓励并理解我,即使在面对诸多延误时仍不放弃。由于React 生态持续演进,例如Forget 和服务端操作的引入,我们需要不断调整内容,而Shira 始终耐心陪伴、支持着我。对此,我感激不尽。 • 我的良师益友Kent C. Dodds(@kentcdodds),他不仅在本书之外给予我长期的指导,还为本书撰写了序言。多年来,Kent 一直是我值得信赖的朋友和导师,我由衷感谢他一直以来的支持和鼓励。 • 审阅团队。如果没有这些审阅人员的细致入微与专业精神,这本书绝不可能完成。他们与我并肩作战,倾注了大量心血,我在此深表谢意: ─ Adam Rackis (@adamrackis) ─ Daniel Afonso (@danieljcafonso) ─ Fabien Bernard (@fabien0102) ─ Kent C. Dodds (@kentcdodds) ─ Mark Erikson (@acemarke) ─ Lenz Weber-Tronic (@phry) ─ Rick Hanlon II (@rickhanlonii) ─ Sergeii Kirianov (@SergiiKirianov) ─ Matheus Albuquerque (@ythecombinator) • Meta(原Facebook)的React 团队,感谢他们不懈推动React 的发展,不断突破技术边界,以卓越的工程能力和创新思维,让React 变得更加强大且易用。特别感谢Dan Abramov(@dan_abramov),他不仅耐心向我讲解了打包工具在React 服务端组件架构中的作用,还贡献了第9 章关于React服务端组件的重要内容。 最后,我要感谢你,作为读者,愿意阅读这本书并对其内容产生兴趣。我希望你在阅读过程中收获满满,就像我在写作这本书时所感受到的喜悦与成长。


目录

目录
序 1
前言 3
第1 章 基础知识 9
11 为什么React 会诞生9
12 React 诞生之前 10
121 jQuery 20
122 Backbone 23
123 KnockoutJS 30
124 AngularJS 35
13 进入React 时代 40
131 React 的价值主张 42
132 React 的发布 48
133 Flux 架构 49
134 Flux 架构的优势 51
14 总结:为什么React 如此流行 52
15 本章小结53
16 回顾问题53
17 接下来的内容 53
第2 章 JSX 55
21 JavaScript XML 55
22 JSX 的优点 58
23 JSX 的缺点 59
24 深入解析60
241 代码是如何工作的 61
242 使用JSX 扩展JavaScript 语法 65
25 JSX 编译指示 67
26 表达式 68
27 本章小结69
28 回顾问题69
29 接下来的内容 69
第3 章 虚拟DOM 71
31 虚拟DOM 概述 71
32 真实DOM 73
321 操作真实DOM 的风险 78
322 文档片段 87
33 虚拟DOM 的工作原理 89
331 React 元素 89
332 虚拟DOM vs 真实DOM 94
333 高效更新 97
34 本章小结99
35 回顾问题100
36 接下来的内容 101
第4 章 深入解析协调过程 103
41 理解协调过程 103
42 批量更新106
43 先例 107
44 Fiber 协调器 111
441 Fiber 数据结构 111
442 双缓冲 114
443 Fiber 协调 115
45 本章小结122
46 回顾问题122
47 接下来的内容 123
第5 章 常见问题与有效的模式 125
51 使用Reactmemo 实现记忆化 125
511 Reactmemo 129
512 记忆化的组件仍会重新渲染 130
513 这是一种指导原则,而非规则 134
52 使用useMemo 进行记忆化140
521 使用useMemo 的注意事项 142
522 “忘记”一切 150
53 懒加载 150
54 useState 与useReducer 157
55 强大的设计模式 164
551 展示组件/ 容器组件模式 165
552 高阶组件 166
553 Render Props 模式 175
554 Control Props 模式 177
555 属性集合模式 179
556 组合组件模式 182
557 状态Reducer 模式 186
56 本章小结189
57 回顾问题189
58 接下来的内容 190
第6 章 服务端渲染 191
61 客户端渲染的限制 191
611 搜索引擎优化(SEO) 191
612 性能 193
613 安全性 196
62 服务端渲染的兴起 198
63 客户端激活(Hydration) 199
64 使用服务端渲染 202
641 手动为React 应用添加服务端渲染能力 202
642 客户端激活 205
65 服务端渲染相关的API 205
651 renderToString 206
652 renderToPipeableStream 209
653 renderToReadableStream 222
654 应用场景 224
66 避免重复造轮子 226
67 本章小结229
68 回顾问题229
69 接下来的内容 230
第7 章 React 并发模式 231
71 同步渲染的问题 232
72 重新审视Fiber 233
73 调度和延迟更新 233
74 深入探讨237
75 渲染通道242
751 渲染通道的工作原理244
752 处理通道 245
753 提交阶段 246
76 useTransition 247
761 简单示例 247
762 高级示例:页面导航248
763 深入探讨 250
77 useDeferredValue 251
771 useDeferredValue 的设计目的 252
772 什么时候使用useDeferredValue 255
773 什么时候不适合使用useDeferredValue 256
78 并发渲染的问题 257
79 本章小结267
710 回顾问题 268
711 接下来的内容 269
第8 章 框架 271
81 为什么需要框架 271
811 服务端渲染 275
812 路由 277
813 数据获取 278
82 使用框架的优势 283
83 使用框架的顾虑 284
84 流行的React 框架 285
841 Remix 285
842 Nextjs 295
85 如何选择合适的框架 304
851 明确项目需求 305
852 Nextjs 305
853 Remix 306
854 权衡取舍 307
855 开发者体验 308
856 运行时性能 308
86 本章小结310
87 回顾问题310
88 接下来的内容 311
第9 章 React 服务端组件 313
91 服务端组件的优势 315
92 服务端渲染 315
921 深入剖析 318
922 处理组件更新 329
923 细节剖析 335
93 服务端组件的使用准则 337
931 序列化是关键 337
932 避免使用具有副作用的Hooks 337
933 服务端状态≠客户端状态 338
934 客户端组件不能引用服务端组件 338
935 客户端组件尚未过时340
4 服务端操作 340
941 表单与数据变更 341
942 非表单场景 341
95 展望React 服务端组件的未来 342
96 本章小结343
97 回顾问题344
98 接下来的内容 344
第10 章 React 的竞品 347
101 Vuejs 347
1011 信号 349
1012 易于上手 350
102 Angular 350
1021 变更检测 351
1022 信号 351
103 Svelte 352
104 Solid 357
105 Qwik 359
106 共性的设计模式 361
1061 基于组件的构架设计 361
1062 声明式语法361
1063 响应状态更新 362
1064 生命周期方法 362
1065 社区和工具362
107 React 并非真正的响应式框架 363
108 React 的未来 368
109 本章小结 372
1010 回顾问题 373
1011 接下来的内容 374
第11 章 总结 375
111 要点总结 375
112 我们的时间线 378
113 “魔法”背后的机制 378
114 深入探索的旅程 379
115 保持更新 380


有电书房店铺主页二维码
有电书房
扫描二维码,访问我们的微信店铺

流畅的React

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏