ImageBackground is deprecated and will be removed in a future release
React Native logs:
ImageBackground is deprecated and will be removed in a future release. Use a View with an absolutely positioned Image instead.
SafeAreaView has been deprecated and will be removed in a future release. Please use 'react-native-safe-area-context' instead.
What it means. Both still work and log a warning. Once removed, importing them from 'react-native' returns undefined and every screen that renders them crashes. ImageBackground was deprecated in 0.87, SafeAreaView in 0.81 (DrawerLayoutAndroid and UTFSequence in 0.87 too).
SafeAreaView is already a problem on Android. The core component only ever applied to iOS. Apps that target Android 15 (API level 35) are drawn edge-to-edge there, so screens wrapped in it sit under the status bar. Replace it with the one from react-native-safe-area-context and wrap the root in SafeAreaProvider (Expo Router already does).
- import { SafeAreaView } from 'react-native';
+ import { SafeAreaView } from 'react-native-safe-area-context';
ImageBackground is a View with an absolutely positioned Image:
<View style={style}>
<Image source={source} resizeMode="cover" style={StyleSheet.absoluteFill} />
{children}
</View>
Add overflow: 'hidden' to the outer style if you used borderRadius.
Find every import. npx nativekeel lists each one with its file and line. In our scan, 183 of 653 apps import at least one. A longer walkthrough is on dev.to.
npx nativekeel