我是新来对Hooks做出反应的人(我应该说:甚至还没有开始),但是在这个小问题上我需要帮助。该组件可渲染星星,并允许用户选择等级。我想将{starSelected}值从此组件传递到父组件。
import React, { useState } from "react";
import "./styles.css";
const Star = ({ selected = false, onClick = f => f }) => (
<div className={selected ? "star selected" : "star"} onClick={onClick} />
);
const StarRating = ({ totalStars }) => {
const [starsSelected, selectStar] = useState(0);
return (
<div className="star-rating">
{[...Array(totalStars)].map((n, i) => (
<Star
key={i}
selected={i < starsSelected}
onClick={() => selectStar(i + 1)}
/>
))}
<p>
{starsSelected} of {totalStars} stars
</p>
</div>
);
};
我将不胜感激!