import { useEffect, useState } from 'react'; import { HtmlEvent } from '../App.types'; /** * CAD 상태(state.ts)는 리액트 밖에 있다. UPDATE_STATE 이벤트가 올 때마다 * 카운터를 올려 컴포넌트가 getter를 다시 읽게 한다. */ export function useCadRefresh(): number { const [tick, setTick] = useState(0); useEffect(() => { const handler = () => setTick((value) => value + 1); window.addEventListener(HtmlEvent.UPDATE_STATE, handler); return () => window.removeEventListener(HtmlEvent.UPDATE_STATE, handler); }, []); return tick; }