该组件显示GIF搜索的结果.为了添加到Collection 夹,我使用redux. 如果图标被添加到Collection 夹,我会更改图标的 colored颜色 .如何比较数组ID结果和Collection 夹?
import React, {FC, useState} from 'react';
import {IFavoriteGif, IFavoriteGifs, ISearchGifs} from "../../types/types";
import {useDispatch, useSelector} from "react-redux";
import { Col, Row} from 'antd';
import {HeartTwoTone} from '@ant-design/icons';
interface IGifsResultProps {
results: ISearchGifs[];
}
const GifsResult: FC<IGifsResultProps> = ({results}) => {
const dispatch = useDispatch();
const favorites = useSelector((state: IFavoriteGifs) => state.favorites);
const addFavorites = (id: string, src: string) => {
const data = {
id: id,
src: src,
}
dispatch({type: "ADD_FAVORITE_GIFS", payload: data})
}
return (
<Row>
{results.map((result, i) =>
<Col span={8} key={result.id}>
{//if ids matches
? <HeartTwoTone twoToneColor="red"/>
: <HeartTwoTone twoToneColor="gray"/>
}
<img
src={result.images.fixed_height.url}
onClick={()=> addFavorites(result.id, result.images.fixed_height.url)}
/>
</Col>
)}
</Row>
);
};
export default GifsResult;