fervor [>]CODING & CURIOSITY
FERVOR LEARNING SYSTEMTUTORIALS
← React

React / 3 MIN READ

Images <img/>

How to use <img/> in React

From the original Fervor library. Examples may use older package versions.

Inserting Images in React: A Comprehensive Guide

Images are an essential part of web development, enhancing the visual appeal and user experience of your React applications. In this tutorial, we’ll walk through the process of properly inserting and optimizing images in your React components.

Importing Images

To include an image in your React component, follow these steps:

  1. Import the Image: In your component file, use the import statement to bring in the image. You can either import the image as a module or use the require() function:
import myImage from './my-image.png'; // Importing as a module
const myImage = require('./my-image.png'); // Using require() function
  1. Using the Image in JSX: In your component’s JSX code, utilize the img tag to display the image. Set the src attribute of the img tag to the imported image variable:
function MyComponent() {
  return (
    <div>
      <img src={myImage} alt="My Image" />
    </div>
  );
}

Make sure to provide meaningful alt text for the image, as it’s crucial for accessibility, providing descriptions to users who can’t see the image.

Handling Image Paths

Ensuring the correct image path is crucial. If the image file is in the public folder of your React app, you can use process.env.PUBLIC_URL to specify the path starting with /. This guarantees the browser always loads the image from the right location:

import myImage from './my-image.png'; // Importing as a module

function MyComponent() {
  return (
    <div>
      <img src={process.env.PUBLIC_URL + myImage} alt="My Image" />
    </div>
  );
}

Bonus Tips for Image Optimization

Optimizing images is essential for enhancing the performance of your web app. Here are some tips:

  • Optimize Your Images: Use image compression tools to reduce file sizes without sacrificing quality. Tools like TinyPNG or ImageOptim can help.
  • Use SVGs Whenever Possible: Scalable Vector Graphics (SVGs) are resolution-independent and have smaller file sizes than raster images. Consider using SVGs for icons and logos.
  • Lazy Loading: Implement lazy loading for images, deferring their loading until they’re needed. This improves initial page load times.
  • Use the srcset Attribute: Provide different image resolutions with the srcset attribute, optimizing image display on various devices.
  • Use CSS for Sizing and Positioning: Instead of using width and height attributes, use CSS for responsive sizing and positioning.
  • Consider WebP Images: WebP format offers better compression and smaller file sizes. If browser compatibility isn’t an issue, use WebP images.

Conclusion

By following these guidelines, you can seamlessly insert images into your React components and optimize them for improved performance and user experience. Images are a powerful tool in web development, and incorporating them effectively can contribute to the visual appeal and engagement of your React applications.

Home


With these techniques, you’ll be able to confidently insert and optimize images in your React components. By following best practices, you’ll not only enhance the visual appeal of your app but also improve its performance and accessibility. Whether you’re displaying product images, icons, or illustrations, these strategies will help you deliver a seamless and engaging user experience.

Keep your curiosity going.Explore more React →
287 TUTORIALS · 22 TOPICSREADY