@@ -13,9 +13,13 @@ interface Activity {
1313
1414interface ActivityListProps {
1515 selectedCategory : string | null ;
16+ selectedSort : string | null ;
1617}
1718
18- export default function ActivityList ( { selectedCategory } : ActivityListProps ) {
19+ export default function ActivityList ( {
20+ selectedCategory,
21+ selectedSort,
22+ } : ActivityListProps ) {
1923 const [ activities , setActivities ] = useState < Activity [ ] > ( [ ] ) ; // 체험 데이터 상태
2024 const [ currentPage , setCurrentPage ] = useState ( 1 ) ; // 현재 페이지 상태
2125 const [ itemsPerPage , setItemsPerPage ] = useState ( 6 ) ; // 한 페이지 당 아이템 수
@@ -74,6 +78,11 @@ export default function ActivityList({ selectedCategory }: ActivityListProps) {
7478 params . category = selectedCategory ;
7579 }
7680
81+ // 정렬 옵션을 API에 전달
82+ if ( selectedSort ) {
83+ params . sort = selectedSort ; // 가격 낮은 순 / 가격 높은 순 등의 정렬 값
84+ }
85+
7786 // API 요청
7887 const response = await axios . get ( apiUrl , { params } ) ;
7988
@@ -86,13 +95,12 @@ export default function ActivityList({ selectedCategory }: ActivityListProps) {
8695 setLoading ( false ) ;
8796 } catch ( err ) {
8897 setError ( '데이터를 가져오는 데 실패했습니다.' ) ;
89- console . error ( 'API 요청 오류:' , err ) ;
9098 setLoading ( false ) ;
9199 }
92100 } ;
93101
94102 fetchActivities ( ) ; // 데이터 다시 불러오기
95- } , [ selectedCategory , currentPage , itemsPerPage ] ) ;
103+ } , [ selectedCategory , selectedSort , currentPage , itemsPerPage ] ) ;
96104
97105 // 페이지 변경 시 새 데이터를 가져오는 함수
98106 const handlePageChange = ( page : number ) => {
0 commit comments