1. 문제 발생❓
에그팝, 에그클럽, 에그데이 생성 버튼을 여러번 누르면 생성된 상세페이지로 가기전에 여러개의 모임생성 완료 알랏창이 뜨면서 모임이 여러개 생기는 문제점이 있었습니다( 모임 생성 버튼 연속 클릭 시 중복 API 호출 발생 ).
2. 원인 추론 🔎
- API 호출 제한 로직의 부재
- 버튼 클릭 이벤트에 쓰로틀링(Throttling) 미적용
3. 해결 과정 📋
1. useTrottle 커스텀 훅 구현
2. 모임 생성 API 호출 간격 300ms, 모임생성 다음단계 버튼은 20초으로 useTrottle 커스텀 훅 적용
Q. 모임생성과 모임생성 다음 버튼 시간을 다르게 준 이유는?
- 데이터베이스 작업(모임 생성): 20초 쓰로틀링 - Supabase insert 연산의 안정적 처리를 위한 충분한 시간 확보 - 중복 데이터 생성 방지
- UI 전환(다음 단계 이동): 300ms 쓰로틀링 - 가벼운 상태 변경에 대한 즉각적인 사용자 피드백 - 일반적인 더블클릭 간격(200-300ms)을 고려한 최적 딜레이 설정
4. 결과 ❤🔥
- 모임 생성 버튼 연속 클릭 시 일정 시간동안 한번의 요청만 처리함
- API 중복 호출 방지 및 안정적인 모임 생성 프로세스 구현
- 서버 리소스 효율화 달성
'팀프로젝트' 카테고리의 다른 글
트러블 슈팅: 페이지 새로고침/이동 시 데이터 유지하기🌟 (0) | 2024.11.26 |
---|---|
Next.js App Router 빌드 에러 해결하기: page.tsx 구조 최적화🌟 (0) | 2024.11.13 |
Next.js Image 컴포넌트 외부 이미지 로딩 문제 해결하기🌟 (1) | 2024.10.28 |
Next.js에 PWA 적용하기 (1) | 2024.10.23 |
집 플래닛 팀프로젝트! (2) | 2024.10.16 |