From 8ab63870d4546040f549ef49e462824ad11aeaad Mon Sep 17 00:00:00 2001 From: jangwoong Date: Thu, 21 May 2026 18:30:53 +0900 Subject: [PATCH] =?UTF-8?q?[as=20instl]=20=EC=83=81=ED=83=9C=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EB=A1=9C=EC=A7=81=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0:=20=EA=B8=B0=EC=A1=B4=20=ED=82=A4=EC=9D=98=20?= =?UTF-8?q?=EB=B3=80=ED=99=94=EC=97=90=20=EB=94=B0=EB=9D=BC=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=EB=A5=BC=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95=20Maximum=20up?= =?UTF-8?q?date=20depth=20exceeded.=20This=20can=20happen=20when=20a=20com?= =?UTF-8?q?ponent=20calls=20setState=20inside=20useEffect,=20but=20useEffe?= =?UTF-8?q?ct=20either=20doesn't=20have=20a=20dependency=20array,=20or=20o?= =?UTF-8?q?ne=20of=20the=20dependencies=20changes=20on=20every=20render.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/instl-sncn/ui/cnfm-regist-page.tsx | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/apps/as/src/pages/instl-sncn/ui/cnfm-regist-page.tsx b/apps/as/src/pages/instl-sncn/ui/cnfm-regist-page.tsx index 97fc032e7..b3414a652 100644 --- a/apps/as/src/pages/instl-sncn/ui/cnfm-regist-page.tsx +++ b/apps/as/src/pages/instl-sncn/ui/cnfm-regist-page.tsx @@ -162,11 +162,34 @@ function CnfmRegistPage() { useEffect(() => { setCheckResults((prev) => { const next: Record = {}; + let changed = false; + cklstRows.forEach((row) => { const key = cklstKey(row); - next[key] = prev[key] ?? null; + if (Object.prototype.hasOwnProperty.call(prev, key)) { + next[key] = prev[key]; + } else { + next[key] = null; + changed = true; + } }); - return next; + + // 기존 key가 사라졌거나 값이 달라진 경우만 상태 업데이트 + if (!changed) { + const prevKeys = Object.keys(prev); + if (prevKeys.length !== Object.keys(next).length) { + changed = true; + } else { + for (const key of prevKeys) { + if (!(key in next) || prev[key] !== next[key]) { + changed = true; + break; + } + } + } + } + + return changed ? next : prev; }); }, [cklstRows]);