你好同学,我是一本老少咸宜的《React源码通关指南》。
你可以根据自己的水平,结合希望达到的深度,再考虑愿意付出的时间,跟着本指南做几道选择题,我会给你一份适合你的源码学习路径。
1. 你当前属于什么阶段?
- 我是React新手,写过几个Demo,对
React
有初步了解。跳到问题2
- 我已经上手
React
,使用React
开发过应用。跳到问题3
2. 你希望收获什么?
- 对整体运行流程有大概了解,知道源码中的术语,可以在面试时和面试官就源码展开浅显的讨论。
跳到答案1
- 对源码的部分模块运行流程有较深入了解(比如
Hooks
的实现原理),可以在开发时更好的掌控React
。跳到答案2
3. 你希望收获什么?
- 对源码的部分模块运行流程有较深入了解(比如
Hooks
的实现原理),可以在开发时更好的掌控React
。跳到答案2
- 深入掌握源码的整个运行流程,可以写出自己的前端框架。
跳到答案3
答案1
推荐你阅读build-your-own-react,并动手实现。
当你完成本文的学习,可以实现一个包含时间切片
、fiber架构
、Hooks
的简易React
。
答案2
首先完成答案1的学习。接下来我们将进入React
真实源码的学习。
这里我们用到的教材是开源电子书React技术揭秘。
首先学习理念篇,了解React
设计理念。
如果要理解Hooks
的实现原理,阅读极简useState实现。
如果要理解状态更新
相关实现(比如ReactDOM.render
、this.setState
、useState
),阅读完架构篇后阅读状态更新。
要理解Diff
算法的实现,阅读完架构篇后阅读Diff算法。
答案3
要深入理解框架的运行流程,达到能给React
提PR
,或自己开发框架的水平,我们需要彻底了解React
的理念,架构以及API的实现。
在此过程中,需要你动手跟着电子书一起debug代码。
如果你想提升效率,可以花2杯咖啡钱购买《React技术揭秘》的配套视频课程,由作者带着你debug源码。