diff --git a/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h index 653f7700efa..9e42b9b524a 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h @@ -78,6 +78,7 @@ class ConcreteComponentDescriptor : public ComponentDescriptor { const ShadowNode& sourceShadowNode, const ShadowNodeFragment& fragment) const override { auto shadowNode = std::make_shared(sourceShadowNode, fragment); + sourceShadowNode.transferRuntimeShadowNodeReference(shadowNode, fragment); adopt(*shadowNode); return shadowNode; diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp index f3b61507c5c..de2bf9c1fa3 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp @@ -153,6 +153,7 @@ std::shared_ptr UIManager::cloneNode( { .props = props, .children = children, + .runtimeShadowNodeReference = false, }); return clonedShadowNode;