예약 페이지에서의 예약 완료와 동시에 예약완료 페이지로 넘어가서 방금 예약한 정보를 띄워주어야 했다.
문제는 테이블에서 예약 정보의 아이디는 데이터베이스에서 자동으로 생성되는데,
방금 예약 정보의 아이디를 어떻게 알아낼 수 있는지에 대한 고민이 있었다.
해결 방법은 간단했다.
해결책은 Supabase가 insert 연산 후 생성된 row의 데이터를 응답으로 반환한다는 점을 활용하는 것이었다.
API 호출 결과에서 예약 ID를 추출하여 URL에 포함시킨 후, 예약 완료 페이지에서는 이 ID를 사용해 DB에서 예약 정보를 가져와 출력하는 방식으로 문제를 해결했다.
// result: supabase의 응답으로 받아온 제출한 예약 정보
const result = await submitReservation(reserveInfo);
if (!result) {
alert('예약 도중 오류가 발생했습니다. 잠시 후 다시 시도해주세요,');
return;
}
router.push(`reserve/${result.reserve_id}`);
}
return;
'Today I Learned' 카테고리의 다른 글
[supabase] 배열 속성 column에 값 추가하기 (0) | 2024.04.02 |
---|---|
react-Daypicker 달력의 비활성화 날짜 만들기 (0) | 2024.04.01 |
스프레드 연산자로 효율적인 리듀서 만들기 (0) | 2024.03.29 |
2024. 03. 28 TIL - 트러블 슈팅 (0) | 2024.03.28 |
2024.03.27 TIL (1) | 2024.03.27 |