How to Fill Review Icons Depending on the Rating in React

1 year ago admin Reactjs

In today's lesson, we will see how to fill review icons depending on the rating in React, let's assume that we have an e-commerce website and we want to show the rating of each product.


Create a helper function

First, let's create a helper function that takes the rating as param and returns the number of star icons depending on the rating.

Here I am using Bootstrap 5 Icons you can use font awesome instead if you want.

                                                    
                                                                                                                
export const showRating = (rating) => {
    switch(rating){
      case 1 :
        return <i className="bi bi-star-fill text-warning"></i>;
      case 2 :
        return (
            <>
              <i className="bi bi-star-fill text-warning"></i>
              <i className="bi bi-star-fill text-warning"></i>
            </>
          );
      case 3 :
        return (
          <>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
          </>
        );
      case 4 :
        return (
          <>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
          </>
        );
      case 5 :
        return (
          <>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
            <i className="bi bi-star-fill text-warning"></i>
          </>
        );
      default:
          return 'something went wrong!'
    }
  }

Use the helper function

Next, we use the helper function to show star icons depending on the rating.

                                                        
                                                                                                                        
import React from 'react';
import { showRating } from './Helpers';

export default function ProductItem() {
  const product = {
    id: 1,
    rating: 4
  };

  return (
    <p>
      { showRating(product.rating) }
    </p>    
  )
}

Related Tuorials

How to Add Bootstrap 5 Icons in React

In this lesson, we will see how to add Bootstrap 5 Icons in React, we'll walk through the steps to a...


How to Add Bootstrap 5 in React

In this lesson, we will see how to add Bootstrap 5 in React, we'll walk through the steps to add Boo...


How to Access Images from the Assets folder in React

In this lesson, we will see how to access images from the assets folder in React. When working...


How to Listen to a Specific Word in React

In this lesson, we will see how to listen to a specific word in React. Sometimes, when working...


Build a Shopping Cart Using React js Laravel 11 & Stripe Payment Gateway Part 5

In the last part of this tutorial, we will display the cart items, add the ability to increment/decr...


Build a Shopping Cart Using React js Laravel 11 & Stripe Payment Gateway Part 4

In the fourth part of this tutorial, we will fetch and display all the products on the home page, an...


Build a Shopping Cart Using React js Laravel 11 & Stripe Payment Gateway Part 3

In the third part of this tutorial, we will start coding the front end, first, we will install the p...


Build a Shopping Cart Using React js Laravel 11 & Stripe Payment Gateway Part 2

In the second part of this tutorial, we will create the product and payment controllers, and later w...


Build a Shopping Cart Using React js Laravel 11 & Stripe Payment Gateway Part 1

In this tutorial, we will create a shopping cart using React js Laravel 11 and Stripe payment gatewa...


How to Use Rich Text Editor in React js

In this lesson, we will see how to use rich text editor in React JS, let's assume that we have a com...