From 01a796db4834a07ffab1c7d841679d22d8a34012 Mon Sep 17 00:00:00 2001 From: YuJian Date: Tue, 10 May 2022 15:52:24 +0800 Subject: [PATCH] vault backup: 2022-05-10 15:52:24 --- .../React 的深入探索 - beginWork.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md b/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md index 0e41fe4..759e26f 100644 --- a/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md +++ b/React 的源码深入/React 的流程解析 - Fiber 递归/React 的深入探索 - beginWork.md @@ -12,10 +12,12 @@ function beginWork(current, workInProgress, renderLanes) { } ``` -beginWork 函数接受三个参数,分别是 current 节点,workInProgress 节点和 renderLanes 优先级,在进入主要函数逻辑 switch 之前,会先对 current 节点进行空值判断,如果 current 节点不存在则表示在上一次的渲染当中不存在当前节点,会进入相对应的 current 为空的逻辑:didReceiveUpdate 赋值为 false +beginWork 函数接受三个参数,分别是 current 节点,workInProgress 节点和 renderLanes 优先级,根据 beginWork 函数的结构,我们可以分成两个阶段,分别是:前 beginWork 阶段和正式 beginWork 阶段 ## 前 beginWork 阶段 +在进入正式 beginWork 阶段之前,会先对 current 节点进行空值判断,如果 current 节点不存在则表示在上一次的渲染当中不存在当前节点,会进入相对应的 current 为空的逻辑:didReceiveUpdate 赋值为 false + ### current 不为空 ### current 为空