We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Big-React是一个从0实现React18核心功能的项目。之所以叫Big-React而不是mini-React,是因为我的目标是逐步实现React18的核心功能,可以跑通对应的官方测试用例,而不是实现简易React。
Big-React
mini-React
在做这个项目前我已经写了一本关于React源码的开源电子书 —— React技术揭秘,所以我自信这个项目的完成度会比较高。
首先,代码很方便阅读。按照每个核心功能一个版本,当前已经迭代了7个版本(对应7个 git tag),看每个tag对应代码就能屏蔽其他不相干代码造成的干扰。
其次,调试很方便,提供了3种调试方式。
针对不同版本,提供了不同的示例Demo。这种方式的好处是:
控制台会打印各个主要步骤的执行信息,可以直观看到执行流程
热更新(包括示例代码和源码代码)
将代码打包后link到其他项目中,将项目依赖的react与react-dom替换为我们打包的react与react-dom。这种方式的好处是:最贴合项目中实际使用React的情况
react
react-dom
React
当前可跑通25个官方测试用例,随着项目迭代,这个数量会逐步增多。
这种方式的好处是:可以从官方用例的角度观察框架实现的细节、各种边界情况
Github 仓库
The text was updated successfully, but these errors were encountered:
No branches or pull requests
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到其他项目中,将项目依赖的
react
与react-dom
替换为我们打包的react
与react-dom
。这种方式的好处是:最贴合项目中实际使用React
的情况3. 跑
React
官方的测试用例当前可跑通25个官方测试用例,随着项目迭代,这个数量会逐步增多。
这种方式的好处是:可以从官方用例的角度观察框架实现的细节、各种边界情况
Github 仓库
The text was updated successfully, but these errors were encountered: