Fluid
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

通俗易懂的React原理(九):commit流程(下)

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 1234567function commitRoot(){ // 前略 flushMutationEffects(); flushLayoutEffects(); // Skip
2025-10-03
通俗易懂的React原理
#React #fiber

通俗易懂的React原理(八):commit流程(上)

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 前面我们基本讲完了render阶段,也就是React生成新的fiber tree的过程。后面我们就该看commit阶段了,这是根据新的Fiber tree去修改真实dom的过程。 我们之前说的可中断,也仅仅是针对
2025-09-27
通俗易懂的React原理
#React #fiber

通俗易懂的React原理(七):一次状态更新如何触发渲染

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 在本系列第二篇文章中,我们介绍了React是如何在一次渲染中,构建Fiber tree的。只不过我们当时是直接从workLoopConcurrentByScheduler/workLoopConcurrent/workLoopSync开始讲的,
2025-09-04
通俗易懂的React原理
#React #Fiber #渲染流程

通俗易懂的React原理(六):completeWork流程

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 ,并且经过简化,仅保留了关键的逻辑,以便于理解流程 completeWork在前面我们讲构建Fiber tree的时候,我们知道每个节点都需要先经过beginWork方法正向遍历。然后等从子节点反向遍历,回到当前节点的时候,会调用completeWork方法。 beg
2025-09-03
通俗易懂的React原理
#React #Fiber #completeWork

通俗易懂的React原理(番外篇之一):学习React源码有什么用

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 。 写在前面不知道各位读者学习React源码是为了什么。我学习React的源码,有一部分是好奇,因为我不想把总打交道的东西当成一个黑盒。了解它的实现,不仅可以在用的时候更少踩坑,还可以知其所以然。还有一部分原因就是,我相信日常的学习积累,总有一天会派上用场。机会总
2025-08-31
通俗易懂的React原理
#React #fiber #React源码

通俗易懂的React原理(五):子节点的diff算法

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 。下文中展示的代码可能省略了部分不影响主题逻辑的代码,例如dev环境下才执行的代码、水合时执行的代码 本篇我们继续来看beginWork里面的部分,依旧是以函数组件为例。 reconcileChildren看完了执行组件自身的部分,我们接下来要看reconcile
2025-08-24
通俗易懂的React原理
#React #fiber #diff算法

通俗易懂的React原理(四):浅谈useEffect

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 上一篇我们深入了解了React的hooks的原理,包括它是以什么样的形式被React记录的,怎么样被执行的,并且还以useReducer/useState为例,学习了我们最常用到的一个hooks的执行逻辑,并且。 那么今天我们再来看看我们另一个也非常常用的hook
2025-08-02
通俗易懂的React原理
#React #fiber #hooks #useEffect

通俗易懂的React原理(三):函数组件和hooks原理

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 上一篇我们讲了React构建fiber树的整体流程,即循环调用performUnitOfWork,里面穿插着beginWork和completeWork的调用,并且最后给出了简洁的伪代码实现。 那么这一篇呢,我们先看一下beginWork前半部分的逻辑。因为be
2025-07-29
通俗易懂的React原理
#React #fiber #hooks

通俗易懂的React原理(二):构建Fiber tree的流程

代码以React v19.1.0为例,https://github.com/facebook/react/tree/v19.1.0 今天开始我们开始研究React的源码。我们先关注构建Fiber tree相关的内容。 这篇要涉及到beginWork和completeWork的过程,我认为其他的教程此处讲的都比较简略,重点放在了两个方法的内部,而不是两个方法是怎么被调用的。大多数教程说,begi
2025-07-26
通俗易懂的React原理
#React #fiber

通俗易懂的React原理(一):fiber架构

开个小坑,记录自己学习React源码过程中的一些心得。感觉市面上讲解React源码的书籍、视频都讲的一般,颇有照本宣科的意思。我希望能用通俗的话,把自己对React的理解记录下来。一方面是自己遗忘了之后,能回来看看,另一方面也是希望帮助到其他希望了解React源码,却又摸不着门道的人 第一篇我们首先来讲一讲Fiber架构。所谓Fiber架构,是React16开始的新架构。说到虚拟DOM,相信大
2025-07-25
通俗易懂的React原理
#React #fiber
1234

搜索

Hexo Fluid