Skip to content

Commit ef7096d

Browse files
committed
refact: 일관된 상태 관리를 위핸 setTimeout 함수 제거 및 React 상태 관리 패턴 사용
1 parent 15e45cf commit ef7096d

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/pages/menu/ui/MyTicketPage.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import TextModal from '../../../shared/ui/TextModal';
1616

1717
const MyTicketPage = () => {
1818
const [isModalOpen, setIsModalOpen] = useState(false);
19+
const [pendingTicket, setPendingTicket] = useState<OrderTicketResponse | null>(null);
1920
const [selectedTicket, setSelectedTicket] = useState<OrderTicketResponse | null>(null);
2021
const [isCancelMode, setIsCancelMode] = useState(false);
2122
const [selectedIds, setSelectedIds] = useState<number[]>([]);
@@ -63,9 +64,7 @@ const MyTicketPage = () => {
6364
setSelectedIds(prev => (prev.includes(ticket.orderId) ? prev.filter(id => id !== ticket.orderId) : [...prev, ticket.orderId]));
6465
} else {
6566
setSelectedTicket(null);
66-
setTimeout(() => {
67-
setSelectedTicket(ticket);
68-
}, 0);
67+
setPendingTicket(ticket);
6968
setIsModalOpen(true);
7069
}
7170
};
@@ -76,6 +75,13 @@ const MyTicketPage = () => {
7675
}
7776
}, [data]);
7877

78+
useEffect(() => {
79+
if (pendingTicket) {
80+
setSelectedTicket(pendingTicket);
81+
setPendingTicket(null);
82+
}
83+
}, [pendingTicket]);
84+
7985
useEffect(() => {
8086
if (selectedTicket) {
8187
if (selectedTicket.event.status === 'COMPLETE') {

0 commit comments

Comments
 (0)