blob: 05050df6dff231ad9d37bb4b2ffb12928b9aa591 [file] [log] [blame]
刘嘉昕9cdeca22025-06-03 16:54:30 +08001// src/components/ActivityPreview.jsx
2import React, { useEffect, useState } from 'react';
3import { getActivityPreviews } from '../api/activity';
4
5const ActivityPreview = () => {
6 const [activities, setActivities] = useState([]);
7
8 useEffect(() => {
9 getActivityPreviews()
10 .then(res => setActivities(res.data))
11 .catch(err => console.error('获取活动预览失败:', err));
12 }, []);
13
14 return (
15 <div>
16 <h2>活动预览</h2>
17 <div style={{ display: 'flex', flexWrap: 'wrap', gap: '16px' }}>
18 {activities.map(activity => (
19 <div key={activity.activityid} style={{ border: '1px solid #ccc', padding: '12px', borderRadius: '8px' }}>
20 <h3>{activity.title}</h3>
21 <img
22 src={activity.photo}
23 alt={activity.title}
24 style={{ width: '200px', height: 'auto', borderRadius: '4px' }}
25 />
26 </div>
27 ))}
28 </div>
29 </div>
30 );
31};
32
33export default ActivityPreview;