最近在学习慕课网 手写 React 高质量源码迈向高阶开发,之前自己也尝试看过源码,不过最终放弃了 放弃的最主要原因是 react 内部的调用链太长了,每天在缕清调用链上都花了不少时间,createRoot 都没有看完 最近看到慕课网有一个 react 源码课,就想着跟着课程然后在自己源码,看看这次能够看到什么地步 它这个课程前八章 是 react@16 的源码,从第九章开始才是 react@18 的源码 下面是学习笔记: react@16 初始渲染,实现 createElement 和 render 函数 函数组件和类组件及 ref 和 setState 的实现 优化渲染过程之 DomDiff 类组件增强——生命周期函数 性能优化—— PureComponent 和 memo hooks——useEffect、useState、useMemo 等源码实现 react@18 beginWork 前的准备工作:jsxDEV、createRoot、render 源码实现 beginWork 工作原理 4 张图带你看懂 beginWork 和 completeWork 工作过程 一张图看懂 React 合成事件原理 commitWork 工作原理 Fiber 架构的 DOM Diff 原理 图解 useState 原理 useEffect 和 useLayoutEffect 源码实现