구매한 내역의 상품에 들어가서 작성된 리뷰를 수정할때
if (!availableReview) {
showSwal('해당 상품에 대한 구매 내역이 없어<br> 리뷰를 작성할 수 없습니다.');
return;
}
이부분에 걸려서 모달이 띄워짐.
모달 확인버튼 누른후 다시 수정하기 버튼 클릭하면 제대로 반영됨
어느리뷰는 바로 수정이 되고 또 어느리뷰는 모달창이 띄워짐..
검색해보니..
💡현재 상황에서는 상태 업데이트의 타이밍 문제나 비동기 작업의 지연이 원인일 가능성이 높다. 로컬 개발 환경에서는 코드 실행이 빠르기 때문에 문제가 발생하지 않지만, 배포된 환경에서는 네트워크 지연이나 다른 비동기 작업의 속도 차이로 인해 이런 문제가 발생할 수 있다.


const handleDeleteSelectedProducts = async () => {
if (selectedProducts.length === 0) return;
try {
await deleteProducts(selectedProducts); // 선택된 상품 DB에서 삭제
setProducts(products.filter((product) => !selectedProducts.includes(product.product_id))); // 삭제된 상품 제외한 나머지 상품들로 상품목록(products) 상태 업데이트
setSelectedProducts([]); // 선택된 상품 목록 초기화
} catch (error) {
console.error('상품 삭제 중 오류가 발생했습니다:', error);
}
};
// 개별항목 체크박스 선택
const handleCheckboxChange = (productId: string, ischecked: boolean) => {
if (ischecked) {
setSelectedProducts([...selectedProducts, productId]);
} else {
setSelectedProducts(selectedProducts.filter((id) => id !== productId));
}
};
// 전체항목 체크박스 선택
const handleAllCheckboxChange = (ischecked: boolean) => {
if (ischecked) {
setSelectedProducts(products.map((product) => product.product_id));
} else {
setSelectedProducts([]);
}
};
상품삭제기능 구현 후, 메인화면의 라이브스트리밍 swiper 쪽에서 error
<SwiperSlide key={video.streamData[0].livestream_id}>
<LivestreamingCard videosData={video} />
</SwiperSlide>
로컬

배포된 사이트

🤔 라이브방송 시작할때 연결할 상품을 선택하는데, 그 상품이 삭제되면 저장된 라이브 방송도 삭제되게 해야할것같다.
-> 이렇게되면 상품에 연결된 채팅방도 삭제해야할것같고,
-> 결국 삭제된 상품이랑 관련된 모든 테이블의 데이터도 삭제해야하는데~
❗ DB에서 라이브방송에 연결된 상품 id 를 남아있는 상품 id로 바꿨는데도 여전한 에러발생!
❗ supabase 외래키 설정에서 Cascade 옵션이 잘 설정되어있어서 productid 삭제되면 관련된 레코드도 다 삭제된다.
그럼 왜 발생한 에러인거지..

상품삭제된 목록이 페이지네이션에 반영이 안됨