Build and Deploy a Full-Stack Hotel Website with Astro & Sanity
- 예약 취소 기능을 구현하는 방법에 대한 설명 🧳
CancelBooking.tsx 컴포넌트 생성 및 필요한 상태(loading, open, error) 관리 ⏳
- 예약 취소를 처리하는
handleCancelBooking 함수 구현 (API 호출, 에러 처리, UI 업데이트) ⚙️
- Sanity API 엔드포인트(
/API/cancel-booking)를 만들어 예약 취소 로직 처리 🔗
- 사용자 인증 확인 및 예약 ID 유효성 검사 🔑
- Sanity 클라이언트를 사용하여 예약 상태를 '취소됨'으로 업데이트 🗑️
- UI 업데이트 및 사용자 경험 개선 (성공 메시지 표시, 페이지 리디렉션) ✨
- 에러 로깅 및 디버깅을 통해 문제 해결 🐞
- 클라이언트 컴포넌트임을 명시하기 위해 'use client' 추가 💻
- 예약 ID를 props로 받아와 예약 취소에 사용 🆔
- 예약 취소 성공 후 페이지를 새로고침하여 변경 사항 즉시 반영 🔄