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'; } // 이전 값을 업데이트