课程简介
React18的并发渲染、调度器、Suspense等特性,表面看是API升级,底层是架构重构。这门课不带你写demo,而是带你从源码层面理解这些特性的实现原理——当你知道useTransition背后调度器怎么发任务、Suspense怎么挂载资源时,优化和排错就有了依据,而不是靠猜。 有React开发经验,用过hooks、写过组件,对当前项目的渲染性能有实…
React18的并发渲染、调度器、Suspense等特性,表面看是API升级,底层是架构重构。这门课不带你写demo,而是带你从源码层面理解这些特性的实现原理——当你知道useTransition背后调度器怎么发任务、Suspense怎么挂载资源时,优化和排错就有了依据,而不是靠猜。
有React开发经验,用过hooks、写过组件,对当前项目的渲染性能有实际体感的人适合这门课。纯新手不建议碰,源码阅读需要一定的前端基础储备,包括对JS闭包、原型链、事件循环的理解。
建议的学习顺序
先过导学部分,建立源码学习的思维框架,包括源码阅读的基本方法、数据结构与算法意识、原子视角看问题的习惯,这些是后续精读时判断代码位置和逻辑走向的底层工具。
再看架构演进章节,理解React从17到18的核心变化:Fiber架构如何将渲染拆分为可中断的单元、调度器如何决定任务的优先级、并发模式如何协调多个渲染阶段。这一章不展开代码,但必须建立整体认知,否则后面逐模块阅读会迷失。
接着是环境搭建和虚拟DOM部分,把源码阅读的工具链准备好——配置ESLint、设置Source Map、安装React相关依赖。然后进入核心源码精读,从调度器和Fiber构建开始,逐步覆盖 reconciler、renderer、hooks实现等模块。
学完能独立做什么
能独立阅读React18核心模块源码,定位性能瓶颈对应的机制,理解并发模式下的渲染流程,设计自己的轻量状态管理库或性能优化方案,也能在团队中做源码层面的技术答疑。
资料怎么配合练习
课程配套资料包含源码片段和手写练习。建议边看视频边对照官方源码阅读,每讲完一个核心机制就动手写对应模块的简化版,不要等看完全部再练。手写过程才是真正建立理解的过程——抄代码容易,理解机制难。
资料包中的手写练习覆盖了调度器任务队列的简化实现、Fiber节点的创建与遍历、hooks状态追踪的核心逻辑等。建议每次练习控制在1到2小时,做完后对照官方实现找差异,而不是追求一次性写完。理解差异比写出相同代码更有价值。
这门课的定位是源码层面的工程参考,不是完整课程。遇到卡点时回到官方源码对应模块,用本课建立的思维框架去定位问题,比反复看视频更高效。
655e765608e15280b6a3b9132c94aa8e_152632jx7x5ur7ftf6x887.png
(48.23 KB, 下载次数: 6)
下载附件
保存到相册
2025-1-6 23:39 上传
手写React的课程无加密,带资料全套。高清MP4视频!
React18内核探秘:手写React高质量源码迈向高阶开发
1-1 导学.mp4
2-1 思想准备01-本章介绍.mp4
2-2 思想准备02-源码观.mp4
2-3 思想准备03-React是什么.mp4
2-4 思想准备04-React架构演进过程.mp4
2-5 思想准备05-树立数据结构与算法的意识.mp4
2-6 思想准备06-树立用原子视角看问题的意识.mp4
2-7 思想准备07-理解React源码学习的基本方法.mp4
2-8 思想准备08-小结.mp4
3-1 -本章介绍.mp4
3-2 -环境搭建.mp4
3-3 -虚拟DOM与真实DOM的实况对比.mp4
3-4 -JSX的相关概念和原理.mp4
3-5 -React和ReactDOM职责划分.mp4
3-6 -createElement.mp4
3-7 -render函数.mp4
3-8 -setPropsForDom.mp4
3-9 -初始化渲染调试.mp4
3-10 -思考题.mp4
3-11 -小结.mp4
4-1 本章介绍.mp4
4-2 组件概念介绍.mp4
4-3 实现函数组件的基础功能.mp4
4-4 类组件的基本实现.mp4
4-5 类组件的更新机制分析.mp4
4-6 类组件setState函数的实现.mp4
4-7 类组件setState函数的实现.mp4
4-8 事件合成机制原理介绍.mp4
4-9 实现事件合成机制.mp4
4-10 实现事件合成机制.mp4
4-11 ref原理分析.mp4
4-12 原生标签和类组件ref的实现.mp4
4-13 引入forwardRef的底层逻辑.mp4
4-14 forwardRef的实现.mp4
4-15 组件相关代码调试.mp4
4-16 思考题与解答.mp4
4-17 小结.mp4
5-1 -本章介绍.mp4
5-2 原理分析.mp4
5-3 原理分析.mp4
5-4 源码实现-简单场景-1.mp4
5-5 源码实现-简单场景-2.mp4
5-6 源码实现-复杂场景-1.mp4
5-7 源码实现-复杂场景-2.mp4
5-8 源码实现-代码调试.mp4
5-9 源码实现-代码调试.mp4
5-10 -思考题和解答.mp4
5-11 -小结.mp4
6-1 -本章介绍.mp4
6-2 -生命周期的本质.mp4
6-3 -生命周期图的观察.mp4
6-4 -常用生命周期函数案例.mp4
6-5 -常用生命周期函数代码实现.mp4
6-6 -shouldComponentUpdate案例.mp4
6-7 -shouldComponentUpdate源码实现.mp4
6-8 -getDefirvedStateFromProps案例.mp4
6-9 -getDefirvedStateFromProp源码实现.mp4
6-10 -getSnapshotBeforeUpdate案例.mp4
6-11 -getSnapshotBeforeUpdate源码实现.mp4
6-12 -生命周期函数代码调试.mp4
6-13 -思考题与解答.mp4
6-14 -本章小结.mp4
7-1 -本章介绍.mp4
7-2 -PureComponent案例.mp4
7-3 -PureComponent源码实现.mp4
7-4 -memo案例.mp4
7-5 -1-memo源码实现.mp4
7-6 -2-memo源码实现.mp4
7-7 -代码调试.mp4
7-8 -思考题.mp4
7-9 -小结.mp4
8-1 -本章介绍.mp4
8-2 -Hooks概况.mp4
8-3 -useSstate案例观察.mp4
8-4 -useState源码实现.mp4
8-5 -useReducer案例观察.mp4
8-6 -useReducer源码实现.mp4
8-7 -useEffect及useLayoutEffect源码实现.mp4
8-8 -useEffect及useLayoutEffect源码实现.mp4
8-9 -useRef案例和源码.mp4
8-10 -useImperativeHandle案例和源码.mp4
8-11 -useMemo及useCallback案例.mp4
8-12 -useMemo及useCallback源码实现.mp4
8-13 -代码调试.mp4
8-14 -思考题及解答.mp4
8-15 -小结.mp4
9-1 -本章介绍.mp4
9-2 -为什么需要Fiber架构.mp4
9-3 -Fiber架构是什么.mp4
9-4 -Fiber是什么.mp4
9-5 -双缓冲策略.mp4
9-6 -工作循环.mp4
9-7 -并发模式.mp4
9-8 -思考题及解答.mp4
9-9 -本章小结.mp4
10-1 -本章介绍.mp4
10-2 -环境准备.mp4
10-3 -jsxDev代码实现.mp4
10-4 createRoot-1.mp4
10-5 createRoot-2.mp4
10-6 -createRoot的类型表达实现及调试.mp4
10-7 -render函数阶段划分.mp4
10-8 updateContainer代码实现-1.mp4
10-9 -2updateContainer代码实现.mp4
10-10 -1-scheduleUpdateOnFiber.mp4
10-11 scheduleUpdateOnFiber-2.mp4
10-12 beginWork1-1.mp4
10-13 beginWork1-2.mp4
10-14 beginWork2-1.mp4
10-15 beginWork2-2.mp4
10-16 -beginWork调试.mp4
10-17 -completeWork1.mp4
10-18 completeWork2-1.mp4
10-19 completeWork2-2.mp4
10-20 -completeWork3.mp4
10-21 -completeWork调试.mp4
10-22 commitWork代码实现-1.mp4
10-23 commitWork代码实现-2.mp4
10-24 -代码调试.mp4
10-25 -函数组件.mp4
10-26 -思考题.mp4
10-27 -小结.mp4
11-1 -本章介绍.mp4
11-2 -思路分析.mp4
11-3 -事件名注册.mp4
11-4 -注册监听事件.mp4
11-5 事件派发主要逻辑-1.mp4
11-6 事件派发主要逻辑-2.mp4
11-7 -收集监听器函数.mp4
11-8 -合成事件对象.mp4
11-9 -事件函数回调.mp4
11-10 -代码调试.mp4
11-11 -思考题.mp4
11-12 -小结.mp4
12-1 -本章介绍.mp4
12-2 dom diff思路分析 1.mp4
12-3 dom diff思路分析 2.mp4
12-4 -单节点dom diff.mp4
12-5 多节点dom diff 1.mp4
12-6 多节点dom diff 2.mp4
12-7 -多节点dom diff 3.mp4
12-8 多节点dom diff 4.mp4
12-9 多节点dom diff 5.mp4
12-10 -思考题和解答.mp4
12-11 -小结.mp4
13-1 -本章介绍.mp4
13-2 useReducer挂载-1.mp4
13-3 useReducer挂载-2.mp4
13-4 -useReducer触发更新.mp4
13-5 useReducer更新渲染1-1.mp4
13-6 useReducer更新渲染1-2.mp4
13-7 -useReducer更新渲染2-1.mp4
13-8 -useReducer更新渲染2-2.mp4
13-9 -useReducer更新渲染3.mp4
13-10 -useReducer调试.mp4
13-11 -useState.mp4
13-12 -useEffect挂载-1.mp4
13-13 -useEffect挂载-2.mp4
13-14 useEffect更新1-1.mp4
13-15 useEffect更新1-2.mp4
13-16 -useEffect更新2.mp4
13-17 -useEffect调试.mp4
13-18 -useLayoutEffect.mp4
13-19 -思考题及解答.mp4
13-20 -小结.mp4
14-1 -本章介绍.mp4
14-2 -本章介绍.mp4
14-3 -二进制的计算.mp4
14-4 -最小堆算法原理.mp4
14-5 -最小堆算法实现-1.mp4
14-6 -最小堆算法实现-2.mp4
14-7 -React18优先级体系.mp4
14-8 -小结.mp4
15-1 -本章介绍.mp4
15-2 -调度核心逻辑1.mp4
15-3 调度核心逻辑2-1.mp4
15-4 调度核心逻辑2-2.mp4
15-5 -ReactFiberLane和ReactEventPriority-1.mp4
15-6 -ReactFiberLane和ReactEventPriority-2.mp4
15-7 Lane模型下的更新队列-1.mp4
15-8 Lane模型下的更新队列-2.mp4
15-9 Lane模型下的更新队列-3.mp4
15-10 -加入优先级的初始化渲染.mp4
15-11 -本章小结.mp4
16-1 -本章介绍.mp4
16-2 -同步渲染.mp4
16-3 -并发渲染.mp4
16-4 -思考题.mp4
16-5 -小结.mp4
课程资料:
react18-core-01-create-root.zip
react18-core-02-beginWork.zip
react18-core-03-completeWork.zip
react18-core-04-commitWork.zip
react18-core-05-component.zip
react18-core-06-event01.zip
react18-core-06-event02.zip
react18-core-06-event03.zip
react18-core-06-event04.zip
react18-core-06-event05.zip
react18-core-06-event06.zip
react18-core-06-event.zip
react18-core-07-domdiff01.zip
react18-core-07-domdiff.zip
react18-core-08-hooks01.zip
react18-core-08-hooks02.zip
react18-core-08-hooks03.zip
react18-core-08-hooks04.zip
react18-core-08-hooks05.zip
react18-core-08-hooks06.zip
react18-core-08-hooks07.zip
react18-core-08-hooks08.zip
react18-core-08-hooks.zip
react18-core-09-schedule.zip
react18-core-10-concurrent.zip
react18-core-main.zip
simple-react-master.zip