Unify defaultSource and defaultSrc ImageProp (#47710)
Some checks are pending
Label closed PR as merged and leave a comment / comment-and-label (push) Waiting to run
Publish Bumped Packages / publish_bumped_packages (push) Waiting to run
Update node modules cache / update_node_modules_cache (push) Waiting to run

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/47710

There is Android code that supports remapping `defaultSrc` -> `defaultSource` for `ImageNativeComponent`.
The docs reference this prop as `defaultSource`: https://reactnative.dev/docs/next/image#defaultsource
It is not referenced as `defaultSrc` anywhere. Let's unify it as `defaultSource` across both platforms.
Changelog: [Internal]

Reviewed By: javache

Differential Revision: D65819218

fbshipit-source-id: 0f468e2327ad07285a45e4c9f5e33d74da411c74
This commit is contained in:
Dmitry Rykun 2024-11-19 11:21:22 -08:00 committed by Facebook GitHub Bot
parent 6f1cf004fa
commit abeee154d5
3 changed files with 4 additions and 5 deletions

View File

@ -133,7 +133,6 @@ let BaseImage: AbstractImageAndroid = React.forwardRef(
width: undefined,
height: undefined,
};
const defaultSource = resolveAssetSource(props.defaultSource);
const loadingIndicatorSource = resolveAssetSource(
props.loadingIndicatorSource,
);
@ -179,7 +178,6 @@ let BaseImage: AbstractImageAndroid = React.forwardRef(
/* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
* when making Flow check .android.js files. */
headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
defaultSrc: defaultSource ? defaultSource.uri : null,
loadingIndicatorSrc: loadingIndicatorSource
? loadingIndicatorSource.uri
: null,

View File

@ -82,6 +82,9 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
},
validAttributes: {
blurRadius: true,
defaultSource: {
process: require('./resolveAssetSource'),
},
internal_analyticTag: true,
resizeMethod: true,
resizeMode: true,
@ -100,7 +103,6 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
borderRadius: true,
headers: true,
shouldNotifyLoadEvents: true,
defaultSrc: true,
overlayColor: {
process: require('../StyleSheet/processColor').default,
},

View File

@ -124,8 +124,7 @@ public constructor(
}
}
// In JS this is Image.props.defaultSource
@ReactProp(name = "defaultSrc")
@ReactProp(name = "defaultSource")
public fun setDefaultSource(view: ReactImageView, source: String?) {
view.setDefaultSource(source)
}