/** @format */ import React, { useState, useEffect } from 'react'; import QueueAnim from 'rc-queue-anim'; import isEqual from 'lodash/isEqual'; import { Container } from './styled'; interface DetailListProps { data: Record[]; limit: number; color: string; subTitle?: string; size: { width: number; height: number; }; } const StewardList = (props: DetailListProps) => { const { data = [], limit = 4, size: { width, height }, subTitle = '授课积分', } = props; const [key, setKey] = useState('-1'); const [cachedData, setCachedData] = useState[]>([]); useEffect(() => { if (!isEqual(data, cachedData)) { setCachedData(data); } }, [data]); useEffect(() => { setKey(new Date().getTime().toString()); }, [cachedData, limit, height]); const formatData = data && data.length ? data.slice(0, limit) : []; return ( {data && data.length ? formatData.map((item: Record) => (
{item.name}
{subTitle} {item.value}
)) : null}
); }; export default StewardList;