diff --git a/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm b/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm index 225e7bf4a2c..4bf4a5f5d19 100644 --- a/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +++ b/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm @@ -71,9 +71,8 @@ using namespace facebook::react; if (layoutMetrics.frame != oldLayoutMetrics.frame) { CGRect frame = RCTCGRectFromRect(layoutMetrics.frame); - if (std::isnan(frame.origin.x) || std::isnan(frame.origin.y) || std::isnan(frame.size.width) || - std::isnan(frame.size.height) || std::isinf(frame.origin.x) || std::isinf(frame.origin.y) || - std::isinf(frame.size.width) || std::isinf(frame.size.height)) { + if (!std::isfinite(frame.origin.x) || !std::isfinite(frame.origin.y) || !std::isfinite(frame.size.width) || + !std::isfinite(frame.size.height)) { // CALayer will crash if we pass NaN or Inf values. // It's unclear how to detect this case on cross-platform manner holistically, so we have to do it on the mounting // layer as well. NaN/Inf is a kinda valid result of some math operations. Even if we can (and should) detect (and