react-reading-sources icon indicating copy to clipboard operation
react-reading-sources copied to clipboard

The notes about reading source code of react

react-reading-sources

Desc

闲暇之时, 精心沉淀, 品一口82年拉菲, 啵一口陈年老酿, 读一首react源码, 不失为一大乐事~

这是闲时阅读react源码过程中的心得、笔记, 只是单纯的个人理解~

直到读源码之前, 我一直对react保持好奇、憧憬的态度.

何为好奇? 仅仅一个setState, 就能引发整个react应用的更新, 仅仅一个state, 就能随心所欲的切换状态.

何为憧憬? [email protected]hooks着实很舒服, 我的毕设当中也大量使用, 那么诸如useStateuseEffect是如何实现的? 又让我对react内部机理产生强烈憧憬.

所以, 在期末考之余创建了本仓库, 旨在将自己阅读源码过程中的心得体会记录下来. 由于react源码着实太过庞大和难以理解, 所以仓库笔记可能跳跃度很高, 要完成可能还要很长很长时间吧.

Toc

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

History

@see: CHANGELOG.md

LICENSE

@see: MIT