其中最引人注目的改动是:React入口增加createRootAPI。
业界将这一变化解读为:ConcurrentMode(后文简称为CM)将在不久后稳定,并出现在正式版中。
React17是一个过渡版本,用以稳定CM。一旦CM稳定,那v18的进度会大大加快。
可以说从18年到21年,React团队的主要工作就是围绕CM展开的,那么:
CM是什么?
CM能解决React什么问题?
为什么经历快4年,跨越16、17两个版本,CM还不稳定?
本文将作出解答。
CM是什么要了解CM(并发模式)是什么,首先需要知道React源码的运行流程。
React大体可以分为两个工作阶段:
render阶段在render阶段会计算一次更新中变化的部分(通过diff算法),因组件的render函数在该阶段调用而得名。
render阶段「可能」是异步的(取决于触发更新的场景)。