【发布时间】:2020-04-05 00:51:56
【问题描述】:
我添加了一个“点赞”功能,以增加任何给定迭代中照片的点赞数。
问题是图库中的所有照片都会同时获得点赞。
我想单独为照片点赞。
const Gallery = ({ initialData, initialDataSetTwo, initialDataSetThree }) => {
const [data, setData] = useState(initialData);
const [dataTwo, setDataTwo] = useState(initialDataSetTwo);
const [dataThree, setDataThree] = useState(initialDataSetThree);
const [likes, setLikes] = useState(0);
const addLike = () => {
setLikes(likes + 1);
};
return (
<Wrapper>
<Styles className="row">
<Div className="col-xs-4">
{data.map(item => (
<MyImage
key={item.id}
src={item.fields.image.file.url}
header={item.fields.name}
likes={likes}
addLike={addLike}
/>
))}
</Div>
在这里,在图标中,我有一个 onClick 函数来更新喜欢。
同样,我可以增加喜欢,但所有照片都会立即获得喜欢。
我该怎么做?谢谢!
const MyImage = ({ src, header, likes, addLike }) => {
const [ref, hovered] = useHover();
return (
<MyImageDiv ref={ref} className="row imageSpace">
{hovered && (
<div className="name">
<h1>
{header} <span className="likespan">{likes}</span>{" "}
<i onClick={() => addLike()} class="likeicon far fa-heart"></i>
</h1>{" "}
</div>
)}
<img className="image" alt="fall" src={src} />
</MyImageDiv>
);
};
【问题讨论】:
标签: javascript reactjs react-hooks