Skip to main content

附录 A:术语表

按出现顺序排,方便回翻。

数据结构

术语一句话出处
FiberReact 运行时的工作单元,一个对象同时描述组件、树节点、工作进度第 3 章
FiberRoot应用的"总指挥",root.current 指向当前树第 1 章
HostRoot Fiber根节点 fiber,createRoot 时和 FiberRoot 双向绑定第 1 章
React 元素JSX 编译后 jsx() 返回的普通对象,是"图纸"第 2 章
Hook挂在 fiber.memoizedState 链表上的节点第 12 章
Effect副作用节点,挂在 hook 和 fiber.updateQueue 上第 14 章
Update一次状态更新的记录,串成环链表第 13 章
Lane31 位优先级位图,低 bit 高优先第 22 章

双缓冲与树

术语一句话出处
current 树正在展示的树第 3 章
workInProgress 树后台施工的树,commit 后成为 current第 3 章
alternatefiber 指向另一棵树配对副本的字段第 3 章
child / sibling / return单链表的三个指针,return 是栈帧返回地址第 3 章
baseStatehook 的"从哪算起",中断重放靠它第 13 章

渲染与提交

术语一句话出处
render 阶段算新 fiber 树,可中断第 4 章
commit 阶段落 DOM,不可中断第 4、17 章
beginWorkrender 的"进门处":该不该干、交给谁、孩子怎么办第 6 章
completeWorkrender 的"出门处":建 DOM、冒泡 flags第 8 章
bailout三条件满足就跳过整棵子树第 6、24 章
协调(reconcile)元素变成 fiber 并 diff 的过程第 7 章
Placement / Update / Deletioncommit 阶段消费的副作用标记第 7、8、17 章
subtreeFlags子树"要干的活"汇总,冒泡到根第 8 章

并发

术语一句话出处
调度(schedule)决定"什么时候算、算多久"第 5 章
时间切片到点让出主线程,下帧接着算第 5、23 章
中断 / 重启高优 lane 插队就丢弃半成品重算第 23 章
挂起(suspend)渲染时抛 promise,Suspense 接住第 26 章
flight payloadRSC 的序列化数据格式第 30 章
host configreconciler 依赖的宿主接口第 34 章

代码里常见缩写

缩写全称含义
WIPwork in progress施工中的树/组件
sCUshouldComponentUpdateClass 组件重渲染开关
FOUCflash of unstyled content样式闪变
RSCReact Server Components服务端组件
SSRserver-side rendering服务端渲染 HTML