Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【开源自荐】从0实现 React18 核心功能 #2514

Open
BetaSu opened this issue Jul 21, 2022 · 0 comments
Open

【开源自荐】从0实现 React18 核心功能 #2514

BetaSu opened this issue Jul 21, 2022 · 0 comments

Comments

@BetaSu
Copy link

BetaSu commented Jul 21, 2022

Big-React

Big-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 仓库

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants