diff --git a/RNTester/js/components/TextInlineView.js b/RNTester/js/components/TextInlineView.js index e5fcc68aae..a15762131b 100644 --- a/RNTester/js/components/TextInlineView.js +++ b/RNTester/js/components/TextInlineView.js @@ -25,6 +25,21 @@ function Basic(): React.Node { ); } +function NestedTexts(): React.Node { + return ( + + This is the first row + + + This is a nested text + + with a Red View + + + + ); +} + function ClippedByText(): React.Node { return ( @@ -200,6 +215,7 @@ class ChangeInnerViewSize extends React.Component<*, ChangeSizeState> { module.exports = { Basic, + NestedTexts, ClippedByText, ChangeImageSize, ChangeViewSize, diff --git a/RNTester/js/examples/Text/TextExample.android.js b/RNTester/js/examples/Text/TextExample.android.js index 72813a71cd..f9631821f9 100644 --- a/RNTester/js/examples/Text/TextExample.android.js +++ b/RNTester/js/examples/Text/TextExample.android.js @@ -664,6 +664,9 @@ class TextExample extends React.Component<{...}> { + + + diff --git a/ReactCommon/fabric/mounting/Differentiator.cpp b/ReactCommon/fabric/mounting/Differentiator.cpp index 0e93586411..e1ac64cbf3 100644 --- a/ReactCommon/fabric/mounting/Differentiator.cpp +++ b/ReactCommon/fabric/mounting/Differentiator.cpp @@ -189,7 +189,9 @@ static void sliceChildShadowNodeViewPairsRecursively( for (auto const &sharedChildShadowNode : shadowNode.getChildren()) { auto &childShadowNode = *sharedChildShadowNode; auto shadowView = ShadowView(childShadowNode); + auto origin = layoutOffset; if (shadowView.layoutMetrics != EmptyLayoutMetrics) { + origin += shadowView.layoutMetrics.frame.origin; shadowView.layoutMetrics.frame.origin += layoutOffset; } @@ -203,7 +205,7 @@ static void sliceChildShadowNodeViewPairsRecursively( } sliceChildShadowNodeViewPairsRecursively( - pairList, shadowView.layoutMetrics.frame.origin, childShadowNode); + pairList, origin, childShadowNode); } } }