diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp index fa48189076ebfe..85929d367d2d88 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp @@ -30,7 +30,10 @@ ParagraphShadowNode::ParagraphShadowNode( const ShadowNode& sourceShadowNode, const ShadowNodeFragment& fragment) : ConcreteViewShadowNode(sourceShadowNode, fragment) { - if (!fragment.children && !fragment.props) { + auto& sourceParagraphShadowNode = + traitCast(sourceShadowNode); + if (!fragment.children && !fragment.props && + sourceParagraphShadowNode.getIsLayoutClean()) { // This ParagraphShadowNode was cloned but did not change // in a way that affects its layout. Let's mark it clean // to stop Yoga from traversing it.