Skip to content

Commit b4062ae

Browse files
committed
Update VisualizationModal.jsx
1 parent 1d92bcf commit b4062ae

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/components/ide/VisualizationModal.jsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@ const VisualizationModal = ({
914914
const theme = getTheme(isDark);
915915

916916
// 🆕 시각화 데이터 가져오기 함수 - JSON 직접 지원
917-
const fetchVisualizationData = async () => {
917+
const fetchVisualizationData = useCallback(async () => {
918918
if (!code?.trim()) {
919919
setError('코드가 비어있습니다.');
920920
return;
@@ -1034,7 +1034,7 @@ const VisualizationModal = ({
10341034
} finally {
10351035
setIsLoading(false);
10361036
}
1037-
};
1037+
}, [code, language, input, preloadedJsonData, isJsonFile, animationControls]);
10381038

10391039
const toggleApiMode = () => {
10401040
// JSON 데이터가 미리 로드된 경우 API 모드 변경 불가
@@ -1069,26 +1069,26 @@ const VisualizationModal = ({
10691069
};
10701070

10711071
// 모달 초기화
1072-
const resetModal = () => {
1072+
const resetModal = useCallback(() => {
10731073
setData(null);
10741074
setError(null);
10751075
setTotalSteps(0);
10761076
animationControls.reset();
1077-
};
1077+
}, [animationControls]);
10781078

10791079
// 모달이 열릴 때 자동으로 시각화 생성
10801080
useEffect(() => {
10811081
if (isOpen && !data && !isLoading) {
10821082
fetchVisualizationData();
10831083
}
1084-
}, [isOpen, preloadedJsonData]); // preloadedJsonData 의존성 추가
1084+
}, [isOpen, data, isLoading, fetchVisualizationData]);
10851085

10861086
// 모달이 닫힐 때 상태 초기화
10871087
useEffect(() => {
10881088
if (!isOpen) {
10891089
resetModal();
10901090
}
1091-
}, [isOpen]);
1091+
}, [isOpen, resetModal]);
10921092

10931093
// ESC 키로 모달 닫기
10941094
useEffect(() => {

0 commit comments

Comments
 (0)