Big-React

Big-React 是一个从0实现React18核心功能的开源项目,目标是逐步实现React18的核心功能并跑通官方测试用例。项目提供多种调试方式,方便开发者学习和理解React内部原理。

Big-ReactBig-React是一个从0实现React18核心功能的项目。之所以叫Big-React而不是mini-React,是因为我的目标是逐步实现React18的核心功能,可以跑通对应的官方测试用例,而不是实现简易React。在做这个项目前我已经写了一本关于React源码的开源电子书 —— React技术揭秘,所以我自信这个项目的完成度会比较高。## 特点首先,代码很方便阅读。按照每个核心功能一个版本,当前已经迭代了7个版本(对应7个 git tag),看每个tag对应代码就能屏蔽其他不相干代码造成的干扰。其次,调试很方便,提供了3种调试方式。### 1. 实时调试针对不同版本,提供了不同的示例Demo。这种方式的好处是:- 控制台会打印各个主要步骤的执行信息,可以直观看到执行流程- 热更新(包括示例代码和源码代码)### 2. pnpm link将代码打包后link到其他项目中,将项目依赖的reactreact-dom替换为我们打包的reactreact-dom。这种方式的好处是:最贴合项目中实际使用React的情况### 3. 跑React官方的测试用例当前可跑通25个官方测试用例,随着项目迭代,这个数量会逐步增多。这种方式的好处是:可以从官方用例的角度观察框架实现的细节、各种边界情况Github 仓库