ReactDOM.createRoot(root).render()做了什么??
-
调用了createRoot方法,在这个方法中做了些判定:是否是合法的容器,对不合法的容器做了一些警告提示;判断根容器是不是已经被标记为根节点;
-
在createRoot中,又调用了createContainer(返回createFiberRoot),其实就是创建fiberRoot;
-
创建fiberRoot和FiberNode,并用root.current = uninitializedFiber; uninitializedFiber.stateNode = root;互相指向;
-
调用initializeUpdateQueue 对新建的fiberNode添加updateQueue更新队列
-
返回创建的fiberRoot
-
通过在div#root上添加属性值为fibernode方式标记为根节点
-
进行事件的监听
-
最后添加_internalRoot指向FiberNode并返回实例