如何为评分中的每 1 显示一颗星?反应 [英] How do I display a star for every 1 that is in the rating?react
问题描述
是的,所以基本上我需要根据食谱的评分显示一颗星(一些 i 元素)(5 星,所以如果分数是 3,我需要生成 3 颗星).非常感谢,感谢任何建议(我需要在 jsx 中显示现在地图函数所在的星星,即使那不是解决方案)
Details.js
import { useParams } from 'react-router-dom';导入'./Details.css';import React, { useEffect, useState } from 'react';从 'axios' 导入 axios;从'./vitaminDfood-1132105308-770x553.jpg'导入图像;从 'react-router-dom' 导入 {Link}从react-rating-stars-component"导入 ReactStars函数详细信息(){const [details, setDetails] = useState([]);const { recipeId } = useParams();useEffect(() => {公理.get(`https://cookbook.ack.ee/api/v1/recipes/${recipeId}`).then((res) => setDetails(res.data));控制台日志(详细信息);});const ratingChanged = (newRating) =>{无功率={评分:新评分}axios.post(`https://cookbook.ack.ee/api/v1/recipes/${recipeId}/ratings`,rate).then((res) => {控制台日志(res.data);})控制台日志(新评级);};返回 (<><div className="详细信息"><div className="食物照片"><img src={Image} alt="";/><链接到=/"><i class="fas fa-arrow-left arrow"></i></Link><h1>{details.name}</h1>
<div className="star-line">{details.score.map((star,index)=>(<i class="fas fa-star"></i>))}<h1 className=duration">{details.duration}</h1>
<p className="info">{details.info}</p><h1 className="ingredience">Ingredience</h1><div className="ing">{details.ingredients}</div><h1 className=ingredience">Příprava</h1><p className="description">{details.description}</p>
<div className="stars"><ReactStarsclassNames=星"大小={48}onChange={ratingChanged}/>