本专栏致力于每周分享一个项目,如果本文对你有帮助的话,欢迎点赞或者关注☘️
React18源码系列会随着学习React源码的实时进度而实时更新:两天一小改,五天一大改左右。
层次划分
将学习React18源码系列划分为 5 个层次,每个层次将要掌握到的知识都不相同。
随着层数的增加,其学习性价比会因为每个人的具体情况而不同,需结合自身情况做出取舍。
第一层
1️⃣掌握基本的术语,如fiber架构、虚拟dom、协调、diff算法等。
2️⃣掌握基本的实现思路,比如更新视图的原理。
build your own react(react 16.8)实现了mini react,可帮助我们了解基本的实现思路和基本的术语。
第二层
1️⃣掌握整体的工作流程
- schedule(平台无关)
- render(平台无关) -- fiber
- commit (平台相关) -- reactDom / reactNative / reactArt
2️⃣掌握局部的细节
- diff算法
- hooks
到第二层一般就足够应对面试了
第三层
1️⃣掌握关键流程的细节
第三层的意义在于探索前端的边界
第四层
1️⃣掌握思想
- 代数效应
第五层
多关注React核心团队核心开发成员,看看大佬的世界是怎么样的。
章节列表
从理念到架构,从架构到实现,从实现到具体代码。自顶向下、抽象程度递减,符合认知。
故,本专题划分为理念篇、架构篇、实现篇。
理念篇
第一章:react 理念
第二章:前置知识
架构篇
第三章: render 函数
第三章render函数-渲染阶段:3.2 beginWork
第三章render函数-渲染阶段:3.3 completeWork
第三章render函数-提交阶段:3.5 before mutation 阶段
第三章render函数-提交阶段:3.5 mutation 阶段
第三章render函数-提交阶段:3.6 layout 阶段
第四章:Concurrent模式
第四章Concurrent模式: 4.2 Scheduler时间切片、Scheduler中的优先级调度
第四章Concurrent模式: 4.2 React中的优先级运转之lane模型
实现篇
第五章: Hooks
第五章Hooks 5.3 useState 与 useReducer
第九章Hooks 9.1 useMemo 与 useCallback
第八章:React事件与状态管理
第八章React事件与状态管理:8.1 ReactDOM.render
第八章React事件与状态管理:8.2 setState工作原理
第八章React事件与状态管理:8.2 props和state
第十章: Concurrent Mode
第十章Concurrent Mode: 10.1 Scheduler 的原理与实现
第十章Concurrent Mode: 10.1 lane 模型
第十章Concurrent Mode: 10.1 异步可中断更新
第十章Concurrent Mode: 10.1 高优任务打断机制
第十章Concurrent Mode: 10.1 batchedUpdates
第十章Concurrent Mode: 10.1 Suspense
第十一章: Diff 算法
第九章
演示Demo
以一个Demo初步感受React源码的调用栈
CleanShot 2024-10-08 at 09.30.31.mp4
参考链接
- react技术揭秘
- react学习资源:
关于作者
作者:Wandra
内容:算法 | 趋势 |源码|Vue | React | CSS | Typescript | Webpack | Vite | GithubAction | GraphQL | Uniqpp。
专栏:欢迎关注呀🌹
本专栏致力于每周分享一个项目,如果本文对你有帮助的话,欢迎点赞或者关注☘️