Learnitweb

Add and display images in React application

1. Introduction

In a React application we often have to use images. In this tutorial, we’ll see how to add and display images in React application.

2. Adding images from file location

Suppose the images are stored in the src > images folder. An image can be imported in the component and used in the src attribute.

import CortanaImage from "./images/cortana.png";

function Image(props) {
  return (
    <div>
      <img src={CortanaImage} />
    </div>
  );
}

export default Image;

3. Adding images from the URL

If the image is not stored locally and is on remote server then image can be added to the component like the following:

function Image(props) {
  var imageUrl = "https://images.unsplash.com/photo-1617854818583-09e7f077a156";

  return (
    <div>
      <img src={imageUrl} />
    </div>
  );
}

export default Image;

4. Pass image in props

Suppose you want to pass the image in the props then you can do so like other props. In the following example, App component is passing CortanaImage to the Image component.

import Image from "./Image";
import CortanaImage from "./images/cortana.png";

function App() {
  return (
    <div>
      <Image image={CortanaImage} />
    </div>
  );
}

export default App;
function Image(props) {
  return (
    <div>
      <img src={props.image} />
    </div>
  );
}

export default Image;

5. Important point to note

If the image is less than 9.7kb, the image gets inlined. If the image is more than 9.7kb, it is treated as a separate file.

In this example, SiriImage is less than 9.7kb and AlexaImage is more than 9.7kb. After import if you print the AlexaImage and SiriImage, observe the output.

import AlexaImage from "./images/alexa.png";
import SiriImage from "./images/siri.png";

function Image(props) {
  console.log(AlexaImage);
  console.log(SiriImage);
  // Code removed for brevity

Output

  data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAe1BMVEUFoNH///7///8Am88AntAAnd......characters removed for brevity
  Image.js:6 /static/media/siri.e6a70a555204b3a1f6f0.png

6. Conclusion

In this tutorial, we learned how to add and display images in React component. Conceptually there is nothing specific adding and displaying images in a React component. Images can be passed as props also which allows to create better React components.