react前端通过接收到的数字显示五星评分

该博客介绍了一个React组件,用于根据`recommend`值显示半星、整星或空心星的评分展示。组件接收一个`recommend`属性,如4或3.5,根据输入值动态渲染SVG图片来构成评分星级。示例展示了如何使用该组件创建4星和3.5星的评分效果。
摘要由CSDN通过智能技术生成

只需要传递recommend的值

0.5=》表示半星
1=》表示整星
0=》表示空心


import React, { useMemo } from "react";
import emptyStar from "./image/empty-star.svg";
import halfStar from "./image/half-star.svg";
import fullStar from "./image/full-star.svg";

interface Props {
  recommend: number;
}
export const Star: React.FC<Props> = ({ recommend }) => {
  const stars = useMemo(() => {
    let _stars: string[] = [];
    for (let i = 0; i < 5; i++) {
      _stars.push(
        i + 1 <= recommend
          ? `${fullStar}`
          : 0.5 + i <= recommend
          ? `${halfStar}`
          : `${emptyStar}`
      );
    }
    return _stars;
  }, [recommend]);

  return (
    <div className="w-full h-10 bg-white flex  justify-start items-center">
      {stars.map((star, index) => {
        return (
          <span key={index} className="inline-block">
            <img src={star} alt="" />
          </span>
        );
      })}
    </div>
  );
};

例如:
<Star recommend={4} />

效果图:
在这里插入图片描述

例如:
<Star recommend={3.5} />

效果图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值