diff --git a/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewDetail/UserReviewDetail.jsx b/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewDetail/UserReviewDetail.jsx index 70c411e2..4eb8c4a6 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewDetail/UserReviewDetail.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewDetail/UserReviewDetail.jsx @@ -38,10 +38,6 @@ export default function UserReviewDetail({ } }, [onNext, currentIndex, totalReviews]); - useEffect(() => { - console.log("####currentIndex", currentIndex); - }, [currentIndex]); - // 리뷰 데이터가 없을 때 처리 if (!currentReview) { return ( diff --git a/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewsPopup/UserReviewsPopup.jsx b/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewsPopup/UserReviewsPopup.jsx index 9234ff2c..043678ec 100644 --- a/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewsPopup/UserReviewsPopup.jsx +++ b/com.twin.app.shoptime/src/views/DetailPanel/ProductContentSection/UserReviews/UserReviewsPopup/UserReviewsPopup.jsx @@ -105,36 +105,29 @@ export default function UserReviewsPopup({ // All-Images 및 User-Reviews 모드를 위한 상태 const [currentReviewIndex, setCurrentReviewIndex] = useState(0); - // 모드별 리뷰 인덱스 초기화 - // ✅ selectedImageIndex 변경 감지 추가: 클릭한 리뷰가 팝업에 표시되도록 + // 모드 변경 시 초기화 useEffect(() => { console.log('[UserReviewsPopup] Mode or selectedImageIndex changed:', { mode, selectedImageIndex, allReviewsLength: allReviews?.length || 0, }); - - if (mode === "all-images" && images && images[selectedImageIndex]) { - const selectedImage = images[selectedImageIndex]; - const reviewIndex = reviewsWithImages.findIndex( - (review) => review.rvwId === selectedImage.reviewId - ); - if (reviewIndex !== -1) { - console.log('[UserReviewsPopup] all-images mode - found review index:', reviewIndex); - setCurrentReviewIndex(reviewIndex); + if (mode === "all-images" && selectedImageIndex !== undefined) { + const selectedImage = images?.[selectedImageIndex]; + if (selectedImage) { + const reviewIndex = reviewsWithImages.findIndex( + (review) => review.rvwId === selectedImage.reviewId + ); + if (reviewIndex !== -1) { + console.log('[UserReviewsPopup] all-images mode - found review index:', reviewIndex); + setCurrentReviewIndex(reviewIndex); + } } - } else if (mode === "user-reviews") { - // User-Reviews 모드: selectedImageIndex를 그대로 사용 + } else if (mode === "user-reviews" && selectedImageIndex !== undefined) { console.log('[UserReviewsPopup] user-reviews mode - setting index to:', selectedImageIndex); setCurrentReviewIndex(selectedImageIndex); } - }, [ - mode, - selectedImageIndex, // ✅ 추가: 선택된 이미지 인덱스 변경 감지 - images, // ✅ 추가: 이미지 데이터 변경 감지 - reviewsWithImages, // ✅ 추가: 이미지 있는 리뷰 변경 감지 - allReviews, // ✅ 추가: allReviews 변경 감지 - ]); + }, [mode, selectedImageIndex]); // selectedImageIndex는 명시적 변경 시만 // 리뷰 네비게이션 핸들러 (All-Images 및 User-Reviews 모드) const handlePreviousReview = useCallback(() => {