콘텐츠로 이동

useForm reset을 useEffect deps에 form 객체로 넣으면 무한 루프 위험

증상

모달 open/close 시 폼 리셋 useEffect에 form 객체 전체를 deps에 넣으면, 매 렌더마다 effect 재실행 → 무한 루프 위험.

근본 원인

useForm() 반환 객체는 렌더마다 새 참조. React deps 비교는 Object.is(참조 동등성)이므로 매번 "변경됨" 판정.

해결

const { reset } = form; 구조분해 후 deps를 [modalState, reset]으로 변경. reset은 내부적으로 useCallback 메모이제이션된 안정 참조.

적용 커밋

246ac67 (AssetManagement/Frontend) — 5개 탭 파일 전체 적용