diff --git a/packages/react-native/Libraries/Image/ImageBackground.js b/packages/react-native/Libraries/Image/ImageBackground.js index c8e0beae02df..15e2243d98f2 100644 --- a/packages/react-native/Libraries/Image/ImageBackground.js +++ b/packages/react-native/Libraries/Image/ImageBackground.js @@ -47,7 +47,11 @@ export type {ImageBackgroundProps} from './ImageProps'; * }); * ``` * + * ImageBackground is deprecated and will be removed in a future release. + * Use a `View` with an absolutely positioned `Image` instead. + * * @see https://reactnative.dev/docs/imagebackground + * @deprecated */ class ImageBackground extends React.Component { setNativeProps(props: {...}) { diff --git a/packages/react-native/Libraries/Image/ImageProps.js b/packages/react-native/Libraries/Image/ImageProps.js index a893ac450a60..631ba635bec4 100644 --- a/packages/react-native/Libraries/Image/ImageProps.js +++ b/packages/react-native/Libraries/Image/ImageProps.js @@ -338,7 +338,13 @@ export type ImageProps = Readonly<{ style?: ?ImageStyleProp, }>; -/** @build-types emit-as-interface Uniwind compatibility */ +/** + * ImageBackground is deprecated and will be removed in a future release. + * Use a `View` with an absolutely positioned `Image` instead. + * @see https://reactnative.dev/docs/imagebackground + * @deprecated + * @build-types emit-as-interface Uniwind compatibility + */ export type ImageBackgroundProps = Readonly<{ ...ImageProps, children?: React.Node, diff --git a/packages/react-native/index.js b/packages/react-native/index.js index 533c97f038fa..c2873961a5f0 100644 --- a/packages/react-native/index.js +++ b/packages/react-native/index.js @@ -62,7 +62,18 @@ module.exports = { get Image() { return require('./Libraries/Image/Image').default; }, + /** + * @deprecated ImageBackground is deprecated and will be removed in a future release. + * Use a View with an absolutely positioned Image instead. + * See https://reactnative.dev/docs/imagebackground + */ get ImageBackground() { + warnOnce( + 'image-background-deprecated', + 'ImageBackground is deprecated and will be removed in a future release. ' + + 'Use a View with an absolutely positioned Image instead. ' + + 'See https://reactnative.dev/docs/imagebackground', + ); return require('./Libraries/Image/ImageBackground').default; }, get InputAccessoryView() {