diff --git a/ReactCommon/fabric/components/view/ConcreteViewShadowNode.h b/ReactCommon/fabric/components/view/ConcreteViewShadowNode.h index 8ae629b3dcd..732b36e05a1 100644 --- a/ReactCommon/fabric/components/view/ConcreteViewShadowNode.h +++ b/ReactCommon/fabric/components/view/ConcreteViewShadowNode.h @@ -52,6 +52,22 @@ class ConcreteViewShadowNode : public ConcreteShadowNode< ViewPropsT, ViewEventEmitterT, Ts...>; + + ConcreteViewShadowNode( + ShadowNodeFragment const &fragment, + ShadowNodeFamily::Shared const &family, + ShadowNodeTraits traits) + : BaseShadowNode(fragment, family, traits) { + initialize(); + } + + ConcreteViewShadowNode( + ShadowNode const &sourceShadowNode, + ShadowNodeFragment const &fragment) + : BaseShadowNode(sourceShadowNode, fragment) { + initialize(); + } + using ConcreteViewProps = ViewPropsT; using BaseShadowNode::BaseShadowNode; @@ -84,6 +100,11 @@ class ConcreteViewShadowNode : public ConcreteShadowNode< return list; } #endif + + private: + void initialize() noexcept { + BaseShadowNode::orderIndex_ = BaseShadowNode::getConcreteProps().zIndex; + } }; } // namespace react diff --git a/ReactCommon/fabric/components/view/ViewShadowNode.cpp b/ReactCommon/fabric/components/view/ViewShadowNode.cpp index 0796ac2af5c..ccbe10d452e 100644 --- a/ReactCommon/fabric/components/view/ViewShadowNode.cpp +++ b/ReactCommon/fabric/components/view/ViewShadowNode.cpp @@ -39,8 +39,6 @@ static bool isColorMeaningful(SharedColor const &color) noexcept { void ViewShadowNode::initialize() noexcept { auto &viewProps = static_cast(*props_); - orderIndex_ = viewProps.zIndex; - bool formsStackingContext = !viewProps.collapsable || viewProps.pointerEvents == PointerEventsMode::None || !viewProps.nativeId.empty() || viewProps.accessible ||