闲暇之时, 精心沉淀, 品一口82年拉菲, 啵一口陈年老酿, 读一首react
源码, 不失为一大乐事~
这是闲时阅读react
源码过程中的心得、笔记, 只是单纯的个人理解~
直到读源码之前, 我一直对react
保持好奇、憧憬的态度.
何为好奇? 仅仅一个setState
, 就能引发整个react
应用的更新, 仅仅一个state
, 就能随心所欲的切换状态.
何为憧憬? [email protected]
的hooks
着实很舒服, 我的毕设当中也大量使用, 那么诸如useState
、useEffect
是如何实现的? 又让我对react
内部机理产生强烈憧憬.
所以, 在期末考之余创建了本仓库, 旨在将自己阅读源码过程中的心得
、体会
记录下来. 由于react
源码着实太过庞大和难以理解, 所以仓库笔记可能跳跃度很高, 要完成可能还要很长很长时间吧.
images
Name | Link |
---|---|
1-FiberRoot&RootFiber&FiberTree | 链接 |
2-渲染帧 | 链接 |
3-concurrent | 链接 |
4-ReactDOM.render流程 | 链接 |
5-react的几大更新阶段 | 链接 |
6-hooks是如何存储的 | 链接 |
7-react16生命周期 | 链接 |
8-react组件通信方式 | 链接 |
9-setState是同步还是异步 | 链接 |
visio
Name | Link |
---|---|
1-ReactDOM.render流程 | 链接 |
2-scheduleCallback回调队列 | 链接 |
3-react_scheduler调度的主要流程 | 链接 |
4-schedule三大步骤 | 链接 |
5-react的三大工作状态 | 链接 |
6-expirationTime的五种类型 | 链接 |
7-react的几大更新阶段 | 链接 |
8-hooks时如何存储的 | 链接 |
9-一句话总结更新流程 | 链接 |
10-单链表树状结构 | 链接 |
11-react16生命周期 | 链接 |
12-react组件通信方式 | 链接 |
13-setState是同步还是异步 | 链接 |
xmind
Name | Link |
---|---|
1-react各大节点之间的关系 | 链接 |
2-react_render的update过程 | 链接 |
3-expirationTime计算流程 | 链接 |
4-setState流程 | 链接 |
5-react任务优先级&任务分片 | 链接 |
6-expirationTime三种模式 | 链接 |
issue
Name | Link |
---|---|
ReactDOM.render 简略过程 |
issue#1 |
react 从调度到更新的简单流程 |
issue#2 |
react 的几大更新阶段 |
issue#3 |
Fiber 对象的几个重要属性 |
issue#4 |
ReactDOM.render 流程再梳理 |
issue#5 |
fiber的updateQueue 的基本结构 |
issue#6 |
fiber.tag 重要类型汇总 |
issue#7 |
函数组件(FunctionComponent )的更新 |
issue#8 |
hooks 存储结构 |
issue#10 |
hooks 运行机制 |
issue#11 |
渲染时的优化策略 | issue#12 |
关于 React 的一些疑点思考 |
issue#15 |
[译] React 为何要使用链表遍历 Fiber 树 |
issue#18 |
[译] 使用 requestIdleCallback | issue#20 |
[译] 深度探索 styled-components 工作原理 | issue#22 |
@see: CHANGELOG.md
@see: MIT