From 59f21f1b2444aabe9133c358eaa0ed2c7b953ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Markb=C3=A5ge?= Date: Fri, 3 Jan 2020 17:35:17 +0000 Subject: [PATCH] HostText needs to copy over from current if it is unchanged in persistent mode (#17538) stateNode is not one of the fields that gets copied over by createWorkInProgress. This is bad for persistent mode since it's not the same instance. In HostComponent we happened to always end up transferring the current stateNode when we bail. However, we didn't do this for HostText. --- packages/react-reconciler/src/ReactFiberCompleteWork.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react-reconciler/src/ReactFiberCompleteWork.js b/packages/react-reconciler/src/ReactFiberCompleteWork.js index 0b5f2ed214..a07256f48f 100644 --- a/packages/react-reconciler/src/ReactFiberCompleteWork.js +++ b/packages/react-reconciler/src/ReactFiberCompleteWork.js @@ -539,6 +539,8 @@ if (supportsMutation) { // We'll have to mark it as having an effect, even though we won't use the effect for anything. // This lets the parents know that at least one of their children has changed. markUpdate(workInProgress); + } else { + workInProgress.stateNode = current.stateNode; } }; } else {