import { Button, Image } from '@tarojs/components'; import { List } from '@taroify/core'; import classNames from 'classnames'; import { useCallback, useEffect, useRef, useState } from 'react'; import JobCard from '@/components/job-card'; import ListPlaceholder from '@/components/list-placeholder'; import { PageUrl } from '@/constants/app'; import { JobInfo, GetJobsRequest } from '@/types/job'; import { logWithPrefix } from '@/utils/common'; import { requestMyRecommendJobList } from '@/utils/job'; import { switchTab } from '@/utils/route'; import './index.less'; interface IRequestProps extends Partial {} export interface IJobListProps extends IRequestProps { className?: string; } const PAGE_SIZE = 10; const PREFIX = 'job-recommend-list'; const log = logWithPrefix(PREFIX); function JobRecommendList(props: IJobListProps) { const { className } = props; const [loading, setLoading] = useState(false); const [loadError, setLoadError] = useState(false); const [dataList, setDataList] = useState([]); const requestProps = useRef({}); const handleClickAllJob = useCallback(() => { switchTab(PageUrl.Job); }, []); useEffect(() => { requestProps.current = { page: 1, pageSize: PAGE_SIZE }; }, []); useEffect(() => { const refresh = async () => { log('start request list data'); try { setDataList([]); setLoading(true); setLoadError(false); const { jobResults = [] } = await requestMyRecommendJobList({ ...requestProps.current }); setDataList(jobResults); } catch (e) { setDataList([]); setLoadError(true); } finally { log('request list data end'); setLoading(false); } }; refresh(); }, []); return (
为你推荐附近通告
{dataList.map(item => ( ))}
); } export default JobRecommendList;