배경 토스 슬래시 중 useOverlay를 읽으며 의문이 들었다. let elementId = 1; export function useOverlay({ exitOnUnmount = true }: Options = {}) { ...(중략) const [id] = useState(() => String(elementId++)); ...(중략) 나는 항상 useState를 사용할때 값을 넣어서 사용을 했다. id를 전역으로 관리하는 것하며, 초기값으로 함수를 넣는 것이 무엇을 의미하는지 궁금해졌다. 같은 원리의 쉬운 코드 제작 stackblitz를 통해 코드를 만들어봤다. 구조는 아래와 같다. 앱 안에 엘리먼트 컴포넌트가 2개 들어있다. 앱과 엘리먼트 컴포넌트에는 각각 hook이 호출된다. hook은 초기값이..