【发布时间】:2021-12-07 02:15:46
【问题描述】:
我对 React 非常陌生,并试图在代码中实现 Rating 功能。谁能告诉我,为什么我在尝试更改状态属性时遇到 TypeError: Object(...) is not a function 错误 当 Rating 组件 onChange 属性设置时。
我的代码
export default function Details(props) {
const [movie_detail, set_movie_detail] = useState({
poster_url:"",
artists:[],
title:"",
genres:[],
duration:0,
release_date:"",
rating:0,
storyline:"",
id:"",
wiki_url:"",
trailer_url:"",
censor_board_rating:""
});
async function data(){
const data = await fetch(props.baseUrl + "movies/"+props.match.params.id ,
{
method: "GET",
headers: {
"Content-Type": "application/json",
"Cache-Control": "no-cache"
}
});
const rawData = await data.json();
set_movie_detail(rawData);
}
const handleRatingChange = (value) =>{
console.log(value);
setState({rating:value});
}
useEffect(() => {
data();
}, []);
return (
<>
<Header baseUrl={props.baseUrl} movieid={movie_detail.id} ></Header>
.........
<div className="column3">
<Typography>
<b>Rate this movie</b>
</Typography>
<Rating
name="rating"
value={movie_detail.rating/2}
max={5}
onChange={handleRatingChange}
icon=
{
<StarBorderIcon
style={{color:"black"}}
/>
}
/>
</div>
</>
);
}
【问题讨论】:
-
setState 从何而来?
标签: javascript reactjs typeerror setstate react-rating