From 7902b7f873d912821a44b35ba0e4dfe5ac2b4960 Mon Sep 17 00:00:00 2001 From: changkyu choi Date: Mon, 6 Jan 2025 14:27:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=EC=B9=98=EB=A9=B4=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20previousRoofMaterialsYn=20=EC=8B=A4?= =?UTF-8?q?=ED=96=89=20=ED=94=8C=EB=A0=88=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/option/useCanvasSetting.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js index b99a32d4..2c710708 100644 --- a/src/hooks/option/useCanvasSetting.js +++ b/src/hooks/option/useCanvasSetting.js @@ -43,6 +43,8 @@ const defaultDotLineGridSetting = { LINE: false, } +let previousRoofMaterialsYn = 'N'; // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행 + export function useCanvasSetting() { const canvas = useRecoilValue(canvasState) // canvas가 null이 아닐 때에만 getObjects 호출 @@ -147,12 +149,13 @@ export function useCanvasSetting() { const previousRoofMaterialsRef = useRef(null); - useEffect(() => { // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행 - if (JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) { - - // 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음 - if (roofMaterials) { + useEffect(() => { + // 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음 + if (roofMaterials.length !== 0 && JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) { + // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행 + if (roofMaterials && previousRoofMaterialsYn === 'N') { fetchBasicSettings(); + previousRoofMaterialsYn = 'Y'; } // 이전 값을 업데이트