React 源码学习记录
前言
因为工作的缘故,在日常中,我使用 React、Vue 等前端框架比较多。但每天在重复使用同样的 API 总让我感觉自己只是停留在表面。我希望自己在持续学习更好的封装组件、提高代码质量的同时,去深入学习这些框架的底层设计和思想,去感受原生 JS 的奥妙,而不是一直只停留在会使用框架的水平上。(BTW,Vanilla JS 是世界上最好的框架,狗头)。
其次我一直觉得学会写文章,学会记录和分享是提升技术的一条必经之路。所以,我选择以文章的方式记录下自己的学习过程。可能会有很多错误,希望大家看到的话可以指正一下,感谢~
我也不知道自己能坚持学到什么程度,但加油啦,享受过程。
我的最新计划(2022-10-03)
从新建一个 create-reract-app 项目入手,给项目的入口打断点,一步步理解学习重点代码的逻辑。由于 CRA 引入的 React 依赖都是构建后的,代码会和源码不同,所以我计划要在源码中找到对应的位置,理解逻辑。
重点会放在 React Core 部分、ReactDOM renderer 部分和 Reconciler 部分的代码。
这是一个大概计划,计划应该会在探索的过程中动态更新。
笔记
总体了解
主体内容
- 初窥 useState 以及 Flow 学习(2022-09-29)
- useState 从开始到放弃(改变计划)(2022-10-03)
- ReactDOM.createRoot(2022-10-06)
有意思的相关学习工具或网站
- React 某个版本相较于前一个版本的报告:fossies.org/diffs/react…
我的旧计划们
- 版本 1(2022-09-24)
- React Core 部分
这一部分是 React 的核心所在,所以我计划先把一些常用的 API(比如
useState())先看一下。 - Reconciler 部分 其次就是 Reconciler 部分,这一部分应该是比较重要的,同时加上我也比较感兴趣。目前计划后续可能会把 Stack 和 Fiber 都看一下,对比一下新旧的算法设计,应该能从中收获不少。
- React Core 部分
这一部分是 React 的核心所在,所以我计划先把一些常用的 API(比如