React源码学习入门(三)React源码codebase架构和调试介绍
本文基于v15.6.2版本介绍,原因请参见新手如何学习React源码
代码目录结构
React整体的源码在src
目录下,我们重点需要关注的几个目录:
isomorphic
,存放React本身的API,如createElement
、Component
等。renderers
,存放React核心渲染逻辑renderers/dom
,封装DOM事件、DOM更新、DOM挂载等行为,跟DOM有关的核心逻辑renderers/shared
,公共目录,主要存放native和dom的公共行为,也是React核心的实现renderers/stack
,与Fiber相对,React之前render的核心策略就是通过函数递归调用来实现的,因此命名为stack
,这里面包含了事件模型、Diff算法等的核心实现utils
,存放公共方法,非常重要的Transaction
机制就放在这里。
宏观架构
React核心的部分其实是由入口、核心协调器、事件中心、DOM渲染器来实现的,后续的文章我们会从渲染挂载、更新、事件触发等角度详细剖析内部的原理。
调试代码
15.6版本React是基于gulp构建的,因此调试源码比较简单,步骤如下:
构建产物生成后,我们可以直接在examples/
目录的index.html打入断点,这样直接打开HTML文件就可以在浏览器调试了:
小结一下
在查看React源码前,第一步要做的事情是大致了解整个Codebase的情况,目录结构,调试方法,本文作为一个开始准备过程,帮助大家能够更顺利地走进React源码世界,下一步就可以尽情地分析源码了!
Last updated