老版本React为什么不能满足快速响应的React理念?
新版本React架构是如何满足快速响应的理念的?
- 老架构:同步更新
同步demo:
如果将老架构变成可中断的:
所以老架构不能满足异步可中断需求
- 新架构:异步可中断更新
由于更新是异步可中断的,所以在新的架构中新增了一个模块来管理这些异步更新,每个更新会被赋予一个优先级,高优先级的会更快的被调度,这个模块被称为Scheduler(调度器)
优先级高的更新2先被处理,先进入协调器
产生的更新3优先级更高,正在协调的更新2会被中断
调度和协调过程在内存中工作,不会执行具体的试图操作,即使有中断发生,用户也不会看到更新不完整的视图
当某次更新完成了在协调器中的工作时,协调器会通知渲染器有哪些组件需要需要执行对应的视图操作,由渲染器分别执行这些操作(增删查改)
异步可中断demo: