@@ -21,7 +21,7 @@ tags: ['前端', '手写React']
2121
22221 . ** createElement(虚拟 DOM)** ;
23232 . ** render** ;
24- 3 . ** 并发模式 ** ;
24+ 3 . ** 可中断渲染 ** ;
25254 . ** Fibers** ;
26265 . ** Render and Commit Phases** ;
27276 . ** 协调(Diff 算法)** ;
@@ -367,7 +367,7 @@ myReact.render(element, document.getElementById('container'))
367367
368368![ image.png] ( https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/fe4fe623e02e41d2bd81957c0019f12b~tplv-k3u1fbpfcp-watermark.image )
369369
370- ## 3. 并发模式 (requestIdleCallback)
370+ ## 3. 可中断渲染 (requestIdleCallback)
371371
372372再来看看上面写的 render 方法中关于子节点的处理,代码如下:
373373
@@ -440,7 +440,7 @@ function performUnitOfWork(nextUnitOfWork) {
440440
441441performUnitOfWork 是用来执行单元事件,并返回下一个单元事件的,具体实现将在下文介绍。
442442
443- ## 4. fiber
443+ ## 4. Fiber
444444
445445上文介绍了通过 requestIdleCallback 让浏览器在空闲时间渲染工作单元,避免渲染过久导致页面卡顿的问题。
446446
@@ -940,15 +940,15 @@ if (
940940
941941#### 5.2 DELETION
942942
943- 当 fiber 的 effectTag 为 PLACEMENT 时,表示是删除 fiber,将父节点的该节点删除。
943+ 当 fiber 的 effectTag 为 DELETION 时,表示是删除 fiber,将父节点的该节点删除。
944944
945945``` javascript
946946else if (fiber .effectTag === " DELETION" ) {
947947 domParent .removeChild (fiber .dom )
948948}
949949```
950950
951- #### 5.3 DELETION
951+ #### 5.3 UPDATE
952952
953953当 fiber 的 effectTag 为 UPDATE 时,表示是更新 fiber,更新 props 属性。
954954
@@ -1251,7 +1251,7 @@ function updateFunctionComponent(fiber) {
125112512 . 新增 useState 函数;
12521252
12531253``` javascript
1254- // initial 表示初始参数,在本例中,initail =1
1254+ // initial 表示初始参数,在本例中,initial =1
12551255function useState (initial ) {
12561256 // 是否有旧钩子,旧钩子存储了上一次更新的 hook
12571257 const oldHook =
0 commit comments