The Image component in React Native is used to display images from local assets, remote URLs, or base64 encoded data. It supports resizing, styling, caching, and loading states, making it essential for building visually rich mobile applications.
The Image component is imported from react-native and uses the source prop to define the image location.
// Import Image component from react-native
import { Image } from 'react-native';
// Basic Image usage with a remote URL
<Image
source={{ uri: 'https://reactnative.dev/img/tiny_logo.png' }}
style={{ width: 100, height: 100 }}
/>
The image is fetched from the given URL and rendered on the screen. Width and height are mandatory; without them, the image will not appear.
Change the image size dynamically using state to understand how layout updates work. The simulator below mimics React Native's state behavior.
// Interactive Image resize using React state
import React, { useState } from 'react';
import { View, Image, Button } from 'react-native';
export default function App() {
const [size, setSize] = useState(100);
return (
<View>
<Image
source={{ uri: 'https://reactnative.dev/img/tiny_logo.png' }}
style={{ width: size, height: size }}
/>
<Button title="Increase Size" onPress={() => setSize(size + 20)} />
</View>
);
}
Click the button below to see the logic in action:

resizeMode for layout controlresizeMode values