【发布时间】:2021-01-10 11:57:17
【问题描述】:
我创建了一个点赞按钮组件,它包含一个按钮和一个点赞计数器文本字段。 每个按钮单击都会将状态从喜欢更改为不喜欢状态,或从不喜欢更改为喜欢状态。 当我多次快速按下按钮时,它会多次更改计数器值。 如何防止这种行为?
const LikeButton = (props) => {
const classes = useStyles();
const dispatch = useDispatch();
const { token } = useSelector((state) => state.auth);
const likePostHandler = () =>{
dispatch(likePost(props.post_ID, token))
}
const unlikePostHandler = () =>{
dispatch(unlikePost(props.post_ID, token))
}
return (
<div className={classes.button}>
{props.isLiked && (
<Tooltip
onClick={unlikePostHandler}
title="Undo like"
placement="top"
>
<FavoriteIcon color="primary"/>
</Tooltip>
)}
{!props.isLiked && (
<Tooltip
onClick={likePostHandler}
title="Like"
placement="top"
>
<FavoriteBorderIcon color="primary"/>
</Tooltip>
)}
<span className={classes.span}>{props.likesCounter} Likes</span>
</div>
)
}
export default LikeButton
【问题讨论】:
标签: javascript reactjs button redux material-ui