【发布时间】:2021-07-29 02:01:04
【问题描述】:
我正在用 React 制作一个简单的网站,它有两个点赞按钮。 每个赞按钮位于不同的 Card 组件中,并且这两个组件都位于父 Projects 组件中。 我希望网站上的总点赞数不超过 10。所以按钮一个注册了 4 个赞,第二个按钮注册的赞数不能超过 6 个。 这是我的初始代码,它只是为两个 Card 组件提供相同的状态
import styles from "./Card.module.css";
const Card = ({ img, title, description, ytLink, children}) => {
return (
<div className={styles.card}>
<img className={styles["card-media"]} alt={img.alt} {...img} />
<div className={styles["card-details"]}>
<h2 className={styles["card-head"]}>{title}</h2>
<p>{description}</p>
<div className={styles.buttons}>
<a
key={ytLink}
className={styles["card-action-button"]}
href={ytLink}
target="_blank"
>
Watch
</a>
{children}
</div>
</div>
</div>
);
};
export default Card;
import Card from "../Card";
import styles from "./Projects.module.css";
import React, { useState, useEffect } from "react";
import Likebutton from "../Like";
const Projects = ({ projects }) => {
const [likesCount, setLikesCount] = useState(0);
const addLike =() => {
const updateLikes = likesCount + 1;
updateLikes < 10 ? setLikesCount(updateLikes) : setLikesCount("10+");
}
const like=<Likebutton addLike={addLike} likesCount={likesCount}></Likebutton>
return (
<div className={styles.container}>
{projects.map((project) => (
<Card
key={project.title}
{...project}
>{like}</Card>
))}
</div>
);
};
export default Projects;
【问题讨论】:
标签: javascript html reactjs react-native