Render
performace
我们从performace里面入手我们刷新浏览器的时候录视,直到结束,我们就可以获取到在这段时间,一整个render是调用了那个文件,那个函数,那个方法
performSyncWorkOnRoot
首先render阶段的开始调用performsyncworkonroot方法
workLoopSync(同步) && workLoopconcurcent(异步)
我们知道其实内部有两棵树,一颗是currnt是页面展示的,一棵树是Workinprogress,这两数其实是一模一样的,作用在更新和初始渲染的时候会用到,workLoopSync这个函数里面有个while循环(循环构建树),条件是不为空的时候继续向下执行performUnitOfwork方法
performUnitOfwork
执行performUnitOfwork方法的时候会把刚刚的树传进去,来创建出节点
beginwork
到了这一步才开始创建节点,按照深度优先遍历原则进行节点渲染,按照react来讲 就是 App -> div -> header -> img -> p -> img -> header -> div -> App 相当于一个递归的过程
reconcileChildFibers
判断是文本节点还是,dom节点,还是数组,如果是数组就递归遍历
completework
执行到这里就结束了 我们每个都渲染上去了