摘要:
1. before mutation阶段 (操作 Dom 前) 更新情况下:`主要调用类组件生命周期函数getSnapshotBeforeUpdate,并且把旧的props和旧的states传递进去 // commit 阶段的第一个子阶段 // 调用类组件的 getSnapshotBeforeUpd 阅读全文
摘要:
因为递归是不能被中止的,需要一直占用线程,而 JS 又是属于 单线程, 所以 当我们需要执行操作时,是不能被中断的,一旦执行,则需要全部操作执行完成后,才可释放线程, 在这种情况下,我们在第一次渲染的时候,程序需要将 生成 Dom 和 包含事件 全部准备齐全后,才会添加 元素到 页面,并展示到浏览器 阅读全文
摘要:
1. React 中使用双缓存的机制,来完成 Firber树的构建与替换,实现 Dom 对象的快速更新。 2. React 中会同时存在两个 Fiber 对象,当前在屏幕中显示的树是 CurrentFiber 树,当发生更新时,React会重新创建一颗新的Firber树是 WorkInProgres 阅读全文
摘要:
// 更新 hostRoot // <div id="root"></div> 对应的 Fiber 对象 function updateHostRoot(current, workInProgress, renderExpirationTime) { pushHostRootContext(work 阅读全文