react道具不适用于for循环

kuhbmx9i  于 2021-09-29  发布在  Java
关注(0)|答案(2)|浏览(318)

当我把评级作为道具传递给星型评级组件时,我可以在星型评级函数中找到评级值,但在循环中,评级变得不可见。

import React from 'react'

const StarRating = ({ rating }) => {
const stars = [];
for (let j; j <= 5; j++) {
    if (j <= 3) {
        stars.push(<i className="fas fa-start"></i>);
    } else if (j === Math.ceil(rating) && !Number.isInteger(rating)) {
        stars.push(<i className="fas fa-star-half-alt"></i>);
    } else {
        stars.push(<i className="fas fa-star"></i>);
    }
}
return (
    <div>
        {stars}
    </div>
)
}

export default StarRating
z18hc3ub

z18hc3ub1#

“j”必须在for循环中初始化。

for(let j = 1;j <=5; j++)
{ 
  /*your logic here*/ 
}
b1payxdu

b1payxdu2#

尝试使用扩展运算符(如{…rating})更新破坏对象,并且必须初始化循环中的变量。

import React from 'react'

const StarRating = ({...rating }) => {
const stars = [];
for (let j=0; j <= 5; j++) {
    if (j <= 3) {
        stars.push(<i className="fas fa-start"></i>);
    } else if (j === Math.ceil(rating) && !Number.isInteger(rating)) {
        stars.push(<i className="fas fa-star-half-alt"></i>);
    } else {
        stars.push(<i className="fas fa-star"></i>);
    }
}
return (
    <div>
        {stars}
    </div>
)
}

export default StarRating

相关问题