diff --git a/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h b/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h index 0fe2def64c..e7a65c05b3 100644 --- a/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +++ b/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h @@ -105,18 +105,13 @@ class ConcreteViewShadowNode : public ConcreteShadowNode< void initialize() noexcept { auto &props = BaseShadowNode::getConcreteProps(); + BaseShadowNode::orderIndex_ = props.zIndex.value_or(0); + if (props.yogaStyle.display() == YGDisplayNone) { BaseShadowNode::traits_.set(ShadowNodeTraits::Trait::Hidden); } else { BaseShadowNode::traits_.unset(ShadowNodeTraits::Trait::Hidden); } - - // `zIndex` is only defined for non-`static` positioned views. - if (props.yogaStyle.positionType() != YGPositionTypeStatic) { - BaseShadowNode::orderIndex_ = props.zIndex.value_or(0); - } else { - BaseShadowNode::orderIndex_ = 0; - } } }; diff --git a/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp b/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp index 60aa53f5db..8332f9377c 100644 --- a/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +++ b/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp @@ -45,7 +45,7 @@ void ViewShadowNode::initialize() noexcept { viewProps.opacity != 1.0 || viewProps.transform != Transform{} || viewProps.elevation != 0 || (viewProps.zIndex.has_value() && - viewProps.yogaStyle.positionType() != YGPositionTypeStatic) || + viewProps.yogaStyle.positionType() != YGPositionTypeAbsolute) || viewProps.yogaStyle.display() == YGDisplayNone || viewProps.getClipsContentToBounds() || isColorMeaningful(viewProps.shadowColor) ||