From c02b2fb4c20af561d870ad89c986fcdd5facea07 Mon Sep 17 00:00:00 2001 From: Dmitry Rykun Date: Wed, 20 Nov 2024 02:37:15 -0800 Subject: [PATCH] [skip ci] Fix C++ prop type for the Image.defaultSource (#47713) Summary: `defaultSource` is defined as a single `ImageSource` in docs (https://reactnative.dev/docs/next/image#defaultsource) but its type is a vector of `ImageSource`s in `ImageProps.h`. This diff changes its C++ type to just `ImageSource`. Technically, this is a breaking change, however I don't think folks should directly access `ImageProps` outside of `RCTImageComponentView.mm` Moreover, this prop is actually not implemented in Fabric, so this change should have no practical effect. Changelog: [Internal] Facebook T208171435 - [RN][Fabric][iOS] Implement defaultSource support for Image Reviewed By: javache Differential Revision: D65821570 --- .../react/renderer/components/image/ImageProps.cpp | 8 ++++---- .../react/renderer/components/image/ImageProps.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp index 6fed6d0b96d466..23f56d8670d625 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.cpp @@ -26,14 +26,14 @@ ImageProps::ImageProps( "source", sourceProps.sources, {})), - defaultSources( + defaultSource( ReactNativeFeatureFlags::enableCppPropsIteratorSetter() - ? sourceProps.defaultSources + ? sourceProps.defaultSource : convertRawProp( context, rawProps, "defaultSource", - sourceProps.defaultSources, + sourceProps.defaultSource, {})), resizeMode( ReactNativeFeatureFlags::enableCppPropsIteratorSetter() @@ -95,7 +95,7 @@ void ImageProps::setProp( switch (hash) { RAW_SET_PROP_SWITCH_CASE(sources, "source"); - RAW_SET_PROP_SWITCH_CASE(defaultSources, "defaultSource"); + RAW_SET_PROP_SWITCH_CASE(defaultSource, "defaultSource"); RAW_SET_PROP_SWITCH_CASE_BASIC(resizeMode); RAW_SET_PROP_SWITCH_CASE_BASIC(blurRadius); RAW_SET_PROP_SWITCH_CASE_BASIC(capInsets); diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h index 3cb643a8d5e0a2..b58b5d290b575a 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageProps.h @@ -32,7 +32,7 @@ class ImageProps final : public ViewProps { #pragma mark - Props ImageSources sources{}; - ImageSources defaultSources{}; + ImageSource defaultSource{}; ImageResizeMode resizeMode{ImageResizeMode::Stretch}; Float blurRadius{}; EdgeInsets capInsets{};