围观“33行代码的React”
一位伦敦的Python工程师Oliver Russell最近做了一个好玩的尝试,用33行代码“实现了”React。
他实现的“React”主要涉及如下抽象:
- 我们传一个取得状态并返回虚拟DOM的函数
- “React”在浏览器中将虚拟DOM渲染为真实DOM
- 状态改变,“React”再次运行函数并返回新虚拟DOM
- “React”高效更新真实DOM,以匹配新虚拟DOM
由此可见,这个实现的功能还十分有限。只涉及虚拟DOM生成、差异比较和真实DOM渲染。
全部实现代码如下图所示。