一、核心的4个包介绍
- react: 是react的基础包,我们使用的大多api都直接从这个包导出,比如常用的hook;
- react-dom: react的渲染器之一,是react与web平台连接的桥梁,将react-reconciler中的运行结果输出到web界面上。在使用react的大多数场景下,能用到此包的一个入口函数就是reactDom.createRoot(document.getElementById('root')).render()
- react-reconciler: 核心包,协调scheduler\react-dom\react,管理react应用的状态输入和结果输出,将输入信号最终转化成输出信号发给渲染器
- scheduler: 控制由react-reconciler送入的回调函数的时机,在concurrent模式下可以实现任务分片。总的就是通过控制回调函数的执行时机,来达到任务分片的目的,实现可中断渲染
二、各包主要逻辑如下
⚠️: 红色箭头是入口,ReactDom.createRoot(document.getElementById('root').render()
这里的createRoot会执行creatContainer(), render会执行updateContainer()
文章借鉴: 7km.top/main/macro-…