-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
React设计原理 版权信息
- ISBN:9787121444838
- 条形码:9787121444838 ; 978-7-121-44483-8
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
React设计原理 本书特色
适读人群 :本书的目标读者包括有实际React项目经验并希望更深入理解React的开发人员,以及没有使用过React但对前端框架设计感兴趣的开发人员。本书致力于剖析React设计理念与实现原理,基于React 18源码讲解。 通过本书的学习,读者可以对当前主流前端框架的实现原理有清晰的认识,并对React从理念到实现层面有比较深入的理解。 本书的所有代码示例都可以在微信公众号“魔术师卡颂”后台回复“设计原理”获取
React设计原理 内容简介
本书致力于剖析React设计理念与实现原理,基于React 18源码讲解。全书分为3篇,第1篇为理念篇(第1章~第2章),讲解React在主流前端框架中的定位与设计理念;第2篇为架构篇(第3章~第5章),讲解React架构中的3个阶段——render、commit、schedule,以及如何在架构中践行设计理念;第3篇为实现篇(第6章~第8章),贯穿React架构中的3个阶段,讲解具体API的实现细节。本书的目标读者包括有实际React项目经验并希望更深入理解React的开发人员,以及没有使用过React但对前端框架设计感兴趣的开发人员。通过学习本书,读者可以对当前主流前端框架的实现原理有清晰的认识,并对React从理念到实现层面有更深入的理解。
React设计原理 目录
第1篇 理念篇
第1章 前端框架原理概览 2
1.1 初识前端框架 3
1.1.1 如何描述UI 3
1.1.2 如何组织UI与逻辑 8
1.1.3 如何在组件之间传输数据 12
1.1.4 前端框架的分类依据 14
1.1.5 React中的自变量与因变量 18
1.2 前端框架使用的技术 20
1.2.1 编程:细粒度更新 20
1.2.2 AOT 29
1.2.3 Virtual DOM 32
1.3 前端框架的实现原理 35
1.3.1 Svelte 35
1.3.2 Vue3 43
1.3.3 React 46
1.4 总结 48
第2章 React理念 49
2.1 问题与解决思路 49
2.1.1 事件循环 50
2.1.2 浏览器渲染 53
2.1.3 CPU瓶颈 55
2.1.4 I/O瓶颈 56
2.2 底层架构的演进 57
2.2.1 新旧架构介绍 58
2.2.2 主打特性的迭代 60
2.2.2 渐进升级策略的迭代 61
2.3 Fiber架构 65
2.3.1 FiberNode的含义 65
2.3.2 双缓存机制 68
2.3.3 mount时Fiber Tree的构建 69
2.3.4 update时Fiber Tree的构建 71
2.4 调试React源码 72
2.4.1 仓库结构概览 73
2.4.2 以本书推荐方式调试源码 74
2.4.3 以官方方式调试源码 75
2.5 总结 77
第2篇 架构篇
第3章 render阶段 80
3.1 流程概览 81
3.2 beginWork 83
3.3 React中的位运算 87
3.3.1 基本的三种位运算 88
3.3.2 位运算在“标记状态”中的应用 89
3.4 completeWork 90
3.4.1 flags冒泡 91
3.4.2 mount概览 91
3.4.3 update概览 96
3.5 编程:ReactDOM Renderer 98
3.6 总结 104
第4章 commit阶段 105
4.1 流程概览 106
4.1.1 子阶段的执行流程 108
4.1.2 Effects list 111
4.2 错误处理 113
4.2.1 捕获错误 115
4.2.2 构造callback 116
4.2.3 执行callback 118
4.3 BeforeMutation阶段 119
4.4 Mutation阶段 120
4.4.1 删除DOM元素 120
4.4.2 插入、移动DOM元素 122
4.4.3 更新DOM元素 125
4.4.4 Fiber Tree切换 127
4.5 Layout阶段 127
4.6 总结 129
第5章 schedule阶段 130
5.1 编程:简易schedule阶段实现 131
5.1.1 Scheduler简介 133
5.1.2 改造后的schedule方法 134
5.1.3 改造后的perform方法 137
5.1.4 改造后的完整流程 140
5.2 Scheduler的实现 148
5.2.1 流程概览 149
5.2.2 优先级队列的实现 151
5.2.3 宏任务的选择 152
5.3 Lane模型 154
5.3.1 React与Scheduler的结合 155
5.3.2 基于expirationTime的算法 159
5.3.3 基于Lane的算法 163
5.4 Lane模型在React中的应用 166
5.4.1 初始化lane 168
5.4.2 从fiberNode到FiberRootNode 171
5.4.3 调度FiberRootNode 173
5.4.4 调度策略 175
5.4.5 解决饥饿问题 178
5.4.6 root.pendingLanes工作流程 182
5.5 Batched Updates 186
5.5.1 Batched Updates发展史 187
5.5.2 不同框架Batched Updates的区别 189
5.6 总结 190
第3篇 实现篇
第6章 状态更新流程 192
6.1 编程:简易事件系统实现 193
6.1.1 实现SyntheticEvent 195
6.1.2 实现事件传播机制 196
6.1.3 收集路径中的事件回调函数 197
6.1.4 捕获、冒泡阶段的实现 198
6.2 Update 201
6.2.1 心智模型 201
6.2.2 数据结构 202
6.2.3 updateQueue 206
6.2.4 产生update 207
6.2.5 消费update需要考虑的问题 211
6.2.6 消费update 214
6.3 ReactDOM.createRoot流程 219
6.4 useState流程 220
6.5 性能优化 222
6.5.1 eagerState策略 223
6.5.2 bailout策略 227
6.5.3 bailout策略的示例 233
6.5.4 bailout与Context API 235
6.5.5 对日常开发的启示 239
6.6 总结 243
第7章 reconcile流程 244
7.1 单节点Diff 247
7.2 多节点Diff 251
7.2.1 设计思路 254
7.2.2 算法实现 255
7.3 编程:实现Diff算法 261
7.3.1 遍历前的准备工作 264
7.3.2 核心遍历逻辑 265
7.3.3 遍历后的收尾工作 267
7.4 总结 269
第8章 FC与Hooks实现 270
8.1 心智模型 271
8.1.1 代数效应 271
8.1.2 FC与Suspense 273
8.1.3 Suspense工作流程 279
8.2 编程:简易useState实现 284
8.2.1 实现“产生更新的流程” 284
8.2.2 实现useState 288
8.2.3 简易实现的不足 293
8.3 Hooks流程概览 294
8.3.1 dispatcher 294
8.3.2 Hooks的数据结构 296
8.3.3 Hooks执行流程 297
8.4 useState与useReducer 299
8.5 effect相关Hook 302
8.5.1 数据结构 303
8.5.2 声明阶段 304
8.5.3 调度阶段 306
8.5.4 执行阶段 308
8.6 useMemo与useCallback 309
8.6.1 mount时执行流程 309
8.6.2 update时执行流程 310
8.6.3 useMemo的妙用 311
8.7 useRef 312
8.7.1 实现原理 313
8.7.2 ref的工作流程 314
8.7.3 ref的失控 317
8.7.4 ref失控的防治 318
8.8 useTransition 321
8.8.1 useTransition实现原理 322
8.8.2 useTransition工作流程 324
8.8.3 entangle机制 326
8.8.4 entangle实现原理 327
8.8.5 entangle工作流程 328
8.9 useDeferredValue 333
8.10 编程:实现useErrorBoundary 336
8.10.1 定义dispatcher 338
8.10.2 实现逻辑 339
8.10.3 提取公共方法 342
8.10.4 render阶段错误处理流程 343
8.10.5 commit阶段错误处理流程 349
8.11 总结 351
React设计原理 作者简介
卡颂,前端工程师。曾先后就职于360奇舞团、字节跳动等企业。技术社区活跃者,开源电子书《React技术揭秘》的作者。
- >
随园食单
随园食单
¥15.4¥48.0 - >
我从未如此眷恋人间
我从未如此眷恋人间
¥24.4¥49.8 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥13.0¥24.0 - >
【精装绘本】画给孩子的中国神话
【精装绘本】画给孩子的中国神话
¥19.3¥55.0 - >
莉莉和章鱼
莉莉和章鱼
¥13.4¥42.0 - >
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
企鹅口袋书系列·伟大的思想20:论自然选择(英汉双语)
¥6.3¥14.0 - >
中国人在乌苏里边疆区:历史与人类学概述
中国人在乌苏里边疆区:历史与人类学概述
¥34.1¥48.0 - >
经典常谈
经典常谈
¥12.7¥39.8
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108