setState的实现还是一如既往的简单,位于packages/react/src/ReactBaseClasses.js:
首先我们回顾一下挂载开始的入口performSyncWorkOnRoot,它位于packages/react-reconciler/src/ReactFiberWorkLoop.js:
上一篇文章提到最后更新组件是走到了performUpdateIfNecessary方法,让我们来看一看它的实现:
React挂载DOM的核心流程在src/renderers/dom/shared/ReactDOMComponents.js下:
ReactMount的源码位于src/renderers/dom/client/ReactMount.js:
下面先实现一个最简单的页面渲染,快速了解 JSX、React、DOM 元素的联系。