'use client' import { useSuitableStore } from '@/store/useSuitableStore' import { useQuery, useQueryClient } from '@tanstack/react-query' import { useRouter } from 'next/navigation' import type { Suitable as SuitableType } from '@/api/suitable' export default function Suitable() { const router = useRouter() const queryClient = useQueryClient() const { selectedItems, addSelectedItem, removeSelectedItem } = useSuitableStore() const handleItemClick = (item: SuitableType) => { if (!item.id) return // 초기 데이터 import 때문에 Suitable.id가 optional 타입이라서 방어 처리 추가 selectedItems.some((selected) => selected.id === item.id) ? removeSelectedItem(item.id) : addSelectedItem(item) } const { data: suitableList, isLoading } = useQuery({ queryKey: ['suitables', 'search'], queryFn: async () => { const data = queryClient.getQueryData(['suitables', 'search']) as SuitableType[] return data ?? [] }, enabled: false, }) if (isLoading || !suitableList || suitableList.length === 0) { return
Loading...
} return ( <>

Suitable

선택된 아이템

{selectedItems.length > 0 ? ( selectedItems.map((item) => (
handleItemClick(item)}> {item.product_name}
)) ) : (
선택된 아이템이 없습니다.
)}

데이터 목록

{suitableList ? ( suitableList.map((item: SuitableType) => (
handleItemClick(item)}> {item.product_name}
)) ) : (
검색 결과가 없습니다.
)}
) }