Skip to content

render ​

v18 ​

  • 文件位置:

v17 ​

  • 文件位置:packages/react-dom/src/client/ReactDOMLegacy.js

  • 源码:

    • 返回值,调用legacyRenderSubtreeIntoContainer

    • Q&A

      • Q:为啥返回值legacyRenderSubtreeIntoContainer需要判断是不是服务器端渲染?

        A:如果是服务器端渲染,需要复用传递的container内部的DOM元素,反之则不需要复用内部的DOM元素,而是删除container内部的内容。

isValidContainer ​

初始化FiberRoot——v17 ​

legacyRenderSubtreeIntoContainer ​

  • 文件位置:packages/react-dom/src/client/ReactDOMLegacy.js

  • 源码

legacyCreateRootFromDOMContainer ​

  • 文件位置:packages/react-dom/src/client/ReactDOMLegacy.js

  • 源码:

createLegacyRoot ​

  • 文件位置:packages/react-dom/src/client/ReactDOMRoot.js

  • 源码:

    • LegacyRoot:请前往LegacyRoot了解详情

ReactDOMBlockingRoot ​

  • 文件位置:packages/react-dom/src/client/ReactDOMRoot.js

  • 源码:

createRootImpl ​

  • 文件位置:packages/react-dom/src/client/ReactDOMRoot.js

  • 源码

createContainer ​

  • 文件位置:packages/react-reconciler/src/ReactFiberReconciler.new.js

  • 源码:

createFiberRoot ​

  • 文件位置:packages/react-reconciler/src/ReactFiberRoot.new.js

  • 源码:

FiberRootNode ​

  • 文件位置:packages/react-reconciler/src/ReactFiberRoot.new.js

  • 源码:

initializeUpdateQueue ​

  • 文件位置:packages/react-reconciler/src/ReactUpdateQueue.new.js

  • 源码:

getPublicRootInstance ​

  • 文件位置:packages/react-reconciler/src/ReactFiberReconciler.old.js

  • 源码:

updateContainer ​

  • 文件位置:packages/react-reconciler/src/ReactFiberReconciler.old.js

  • 源码:

getContextForSubtree ​

  • 文件位置:packages/react-reconciler/src/ReactFiberReconciler.old.js

  • 源码:

enqueueUpdate ​

  • 文件位置:packages/react-reconciler/src/ReactUpdateQueue.old.js

  • 源码:

scheduleUpdateOnFiber ​

  • 文件位置:packages/react-reconciler/src/ReactFiberWorkLoop.old.js
  • 源码:

getCurrentPriorityLevel ​

  • 文件位置:packages/react-reconciler/src/SchedulerWithReactIntegration.old.js

  • 源码: