ReactDom-render
2021-08-17 00:25:33 0 举报
react render
作者其他创作
大纲/内容
会创建rootFiber和FiberRoot,详情请查看右侧对函数调用链的描述
renderRootConcurrent
workInProgress = next
这里到react-conciler
performSyncWorkOnRoot
返回的next为null?
已经没有下一个fiber节点待处理
next = beginWork()
mount
current !== null?
update
completeUnitOfWork
workLoopConcurrent
rootsWithPendingDiscreteUpdates.addperformConcurrentWorkOnRoot
container._reactRootContainer?
performUnitOfWork
root = createContainer()return root
内部细节
否
scheduleUpdateOnFiber
return new ReactDOMBlockingRoot()
updateContainer
legacyRenderSubtreeIntoContainer
legacyCreateRootFromDOMContainer
while(workInProgress !== null && !shouldYield())
ReactDom.render
{_internalRoot: createRootImpl()}
while(workInProgress !== null)
是
return createLegacyRoot()
创建root
legacyCreateRootFromDOMContainer细节
有使用new和old版本的区分createFiberRoot()返回FiberRoot其中字段containerInfo指向container
进入update
workLoopSync
进入mount
收藏
0 条评论
回复 删除
下一页