diff --git a/packages/react-native/React/Views/RCTView.m b/packages/react-native/React/Views/RCTView.m index e21035af2c47..cb856fc0b628 100644 --- a/packages/react-native/React/Views/RCTView.m +++ b/packages/react-native/React/Views/RCTView.m @@ -143,6 +143,7 @@ @implementation RCTView { NSTrackingArea *_trackingArea; BOOL _hasMouseOver; BOOL _mouseDownCanMoveWindow; + NSColor *_innerShadowColor; #endif // macOS] NSMutableDictionary *accessibilityActionsNameMap; NSMutableDictionary *accessibilityActionsLabelMap; @@ -731,11 +732,8 @@ - (NSString *)description #if TARGET_OS_OSX // [macOS - (void)setShadowColor:(CGColorRef)shadowColor { - if (_shadowColor != shadowColor) - { - _shadowColor = shadowColor; - [self didUpdateShadow]; - } + _innerShadowColor = shadowColor != NULL ? [NSColor colorWithCGColor:shadowColor] : nil; + [self didUpdateShadow]; } - (void)setShadowOffset:(CGSize)shadowOffset @@ -768,11 +766,7 @@ - (void)setShadowRadius:(CGFloat)shadowRadius -(void)didUpdateShadow { NSShadow *shadow = [NSShadow new]; - NSColor *baseShadowColor = nil; - if (_shadowColor != NULL) { - baseShadowColor = [NSColor colorWithCGColor:_shadowColor]; - } - shadow.shadowColor = [baseShadowColor colorWithAlphaComponent:[self shadowOpacity]]; + shadow.shadowColor = [_innerShadowColor colorWithAlphaComponent:[self shadowOpacity]]; shadow.shadowOffset = [self shadowOffset]; shadow.shadowBlurRadius = [self shadowRadius]; [self setShadow:shadow];